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
ありがとうございましたが、構文エラーはもう解消されましたが、別の問題が発生しました。今は60回ループしていませんが、2回ループしています。私が200回試すと3回ループします。何か手掛かりはありますか?私はPHPで、私はPHPでこのタスクを実行する必要がありますか、それは遅いですか? – senty
PHPの 'shell_exec'ではなく、ループのためにbashスクリプトを使うのが良いです。これを参照してくださいhttp://stackoverflow.com/questions/23777992/loops-with-php-shell-exec-use-php-for-or-bash-for-do-done –