如何使用 php 在命令行中正确执行命令?例如,我在命令行中使用以下命令将 docx 文件转换为 pdf 文件:
pdfcreator.exe /PF"D:\Documents\sample.docx
现在使用 PHP 代码,我希望能够执行相同的命令,但似乎什么都没有发生:
<?php
shell_exec('pdfcreator.exe /PF"D:\Documents\sample.docx"');
?>
这在 PHP 中是否可行?如果可以,我该怎么做?
如何使用 php 在命令行中正确执行命令?例如,我在命令行中使用以下命令将 docx 文件转换为 pdf 文件:
pdfcreator.exe /PF"D:\Documents\sample.docx
现在使用 PHP 代码,我希望能够执行相同的命令,但似乎什么都没有发生:
<?php
shell_exec('pdfcreator.exe /PF"D:\Documents\sample.docx"');
?>
这在 PHP 中是否可行?如果可以,我该怎么做?
system("c:\\path\\to\\pdfcreator.exe /PF\"D:\\Documents\\sample.docx"");
试试这个。
不要忘记使用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 变量中。如果没有,请包含命令的完整路径。