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