web-dev-qa-db-ja.com

PHPを使用してcmdコマンドを実行する

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

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

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

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

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

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

これを試して。

9

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変数に含まれていることを確認してください。そうでない場合は、コマンドのフルパスを含めます。

5
Mike Mackintosh