使用PHP执行cmd命令

时间:2012-06-26 14:23:22

标签: php cmd shell-exec

如何使用php在命令行中正确执行命令?例如,我在命令行中使用以下命令将docx文件转换为pdf文件:

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

现在使用PHP代码我希望能够执行相同的命令,但似乎没有发生任何事情:

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

这在PHP中是否可行?如果是,我该怎么做?

2 个答案:

答案 0 :(得分:9)

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

试试这个。

答案 1 :(得分: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变量中。如果没有,请包括命令的完整路径。