8

PHPを使用してコマンドラインでコマンドを正しく実行するにはどうすればよいですか? たとえば、コマンド ラインで以下のコマンドを使用して、docx ファイルを pdf ファイルに変換しています。

pdfcreator.exe /PF"D:\Documents\sample.docx

PHPコードを使用して、同じコマンドを実行できるようにしたいのですが、何も起こっていないようです:

<?php
shell_exec('pdfcreator.exe /PF"D:\Documents\sample.docx"');
?>

これは PHP で可能ですか?可能であれば、どうすればよいですか?

4

2 に答える 2

10
system("c:\\path\\to\\pdfcreator.exe /PF\"D:\\Documents\\sample.docx""); 

これを試して。

于 2012-06-26T14:27:03.193 に答える
5

コマンドをescapeshellcmd()でエスケープすることを忘れないでください。これにより、醜いバックスラッシュやエスケープ文字を使用する必要がなくなります。

動作する可能性のある他の代替手段もあります。

`command` // back ticks drop you out of PHP mode into shell
exec('command', $output); // exec will allow you to capture the return of a command as reference
shell_exec('command'); // will return the output to a variable
system(); //as seen above.

また、.exe が $PATH 変数に含まれていることを確認してください。そうでない場合は、コマンドのフル パスを含めます。

于 2012-06-26T14:29:06.300 に答える