Использование PHP для выполнения команд cmd


Как правильно выполнять команды в командной строке с помощью php? Например, я использую команду ниже в командной строке для преобразования файла docx в файл pdf:

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

Теперь, используя PHP-код, я хочу иметь возможность выполнить ту же команду, но, похоже, ничего не происходит:

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

Возможно ли это в PHP?Если да, то как мне это сделать?

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