2017-03-18 5 views
0

PHP 스크립트를 실행하고 루프를 실행하려고합니다. 이것은 내가 터미널에서 사용하는 코드이며 작동합니다구문 shell_exec에서 오류가 있지만 터미널에 없습니다.

for i in {1..60}; do printf "file '%s'\n" video.mp4 >>list.txt; done

을 그러나, 나는 shell_exec()으로 내 PHP 스크립트에서 호출하려고하면 :

shell_exec('for i in {1..60}; do printf "file '%s'\n" video.mp4 >>list.txt; done');

내가 오류 :

PHP Parse error: syntax error, unexpected ''\n" video.mp4 >>list.txt; don' (T_CONSTANT_ENCAPSED_STRING), expecting ',' or ')' in /home/vagrant/Code/play/index.php on line 58

Parse error: syntax error, unexpected ''\n" video.mp4 >>list.txt; don' (T_CONSTANT_ENCAPSED_STRING), expecting ',' or ')' in /home/vagrant/Code/play/index.php on line 58

답변

0

작은 따옴표를 이스케이프 처리해야합니다.

shell_exec('for i in {1..60}; do printf "file \'%s\'\n" video.mp4 >>list.txt; done'); 
+0

고마워, 구문 오류는 이제 사라졌지 만 이제는 다른 문제가 발생합니다. 이제 60 번 루핑되지 않고 대신 2 번 루핑됩니다. 200 번 반복하면 3 번 반복됩니다. 어떤 단서가 있습니까? 내가 PHP에있어, 내가 PHP 로이 작업을 수행해야합니까 아니면 느린가요? – senty

+0

PHP'shell_exec'보다는 루핑을 위해 bash 스크립트를 사용하는 것이 더 좋습니다. http://stackoverflow.com/questions/23777992/loops-with-php-shell-exec-use-php-for-or-bash-for-do-done을 참조하십시오. –