Использование 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
Author: Mike Mackintosh, 2012-06-26
2 answers
system("c:\\path\\to\\pdfcreator.exe /PF\"D:\\Documents\\sample.docx"");
Попробуйте это.
9
Author: Piotr Olaszewski, 2012-06-26 14:27:03
Не забудьте выполнить команду с помощью 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
Author: Mike Mackintosh, 2012-06-26 14:29:06