• 締切済み

コマンドラインの生成で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`;

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

シングルクォーテーションでの文字列表示は 変数を展開しませんので、ダブルクォーテーションベースにするか ヒアドキュメントでやると、明確で単純化できます。 たとえば以下のようにしてみてください <? $inFile = "input.avi"; $outFile = "ouput.jpg"; $cmd = <<<eof ffmpeg -y -i "{$inFile}" -f image2 -ss 00:00:00 -vframes 1 "{$outFile}" eof; print $cmd; ?>

ya-cha
質問者

お礼

ご回答ありがとうございました。 ヒアドキュメントにて出来ました♪ ありがとうございましたm(__)m

  • UmJammer
  • ベストアンサー率58% (115/196)
回答No.1

以下の行でエラーとなりますね。 $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 . '"'; これならばエラーはでませんが、期待したコマンドであるかは分かりませんので確認してみてください。

ya-cha
質問者

お礼

ご回答ありがとうございました。

関連するQ&A