私はこの問題に数時間苦労しており、Program Files ディレクトリ内のファイルに対して PHP の shell_cmd() 関数を実行するために構文を適切にエスケープする方法がまったくわかりません。
これが私の現在のコードです:
$send_cmd="\C:\imagemagick\convert\" \"c:\\Program Files\\Apache Software Foundation\\Tomcat 6.0\\webapps\\med_forms\\pdf\\tmppdf\\f-$time\\mf_pdf-$time-$file_num.html c:\\Program Files\\Apache Software Foundation\\Tomcat 6.0\\webapps\\med_forms\\pdf\\tmppdf\\f-$time\\mf_pdf-$time-$file_num.pdf\"";
echo shell_exec($send_cmd);
次のようなコマンドを実行しようとしています。
shell_cmd("C:\imagemagick\convert C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\med_forms\test.html C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\med_forms\test.pdf");
PHP にはすべての適切なフォルダー権限があり、このコマンドは、スペースのないフォルダー構造を処理する場合に問題なく機能します。コマンドを実行するために、「Program Files」フォルダ構造内のスペースを適切にエスケープするにはどうすればよいですか?
スペース、ダブル バック スラッシュ (\)、そして "\" に %20 を使用してみました。どこが間違っていますか?どんな入力でも大歓迎です。