2017-03-18 12 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

一重引用符をエスケープする必要があります。

+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 –

関連する問題