- 締切済み
コマンドラインの生成でParse errorが・・・
コマンドラインを実行するために以下のように記述したのですが、Parse errorとなってしまいます・・・。 どこがおかしいのでしょうか? よろしくお願いいたしますm(__)m // 入力ファイル名 $inFile = "input.avi"; // 出力ファイル名 $outFile = "ouput.jpg"; // 実行するコマンドを生成 $cmd = 'ffmpeg -y -i "'$inFile'" -f image2 -ss 00:00:00 -vframes 1 "'$outFile'"'; // コマンド実行 `$cmd`;
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- yambejp
- ベストアンサー率51% (3827/7415)
シングルクォーテーションでの文字列表示は 変数を展開しませんので、ダブルクォーテーションベースにするか ヒアドキュメントでやると、明確で単純化できます。 たとえば以下のようにしてみてください <? $inFile = "input.avi"; $outFile = "ouput.jpg"; $cmd = <<<eof ffmpeg -y -i "{$inFile}" -f image2 -ss 00:00:00 -vframes 1 "{$outFile}" eof; print $cmd; ?>
- UmJammer
- ベストアンサー率58% (115/196)
以下の行でエラーとなりますね。 $cmd = 'ffmpeg -y -i "'$inFile'" -f image2 -ss 00:00:00 -vframes 1 "'$outFile'"'; 所望のコマンドを想像して書き換えたのが以下です。 $cmd = 'ffmpeg -y -i "' . $inFile . '" -f image2 -ss 00:00:00 -vframes 1 "' . $outFile . '"'; これならばエラーはでませんが、期待したコマンドであるかは分かりませんので確認してみてください。
お礼
ご回答ありがとうございました。
お礼
ご回答ありがとうございました。 ヒアドキュメントにて出来ました♪ ありがとうございましたm(__)m