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 回答