Выполнить внешнюю программу в php и вернуть ссылку на скачивание выходного файла

Я пытаюсь запустить file_creator.exe через PHP, который принимает некоторые аргументы и создает выходной файл. так как я могу получить имя выходного файла, чтобы создать ссылку для скачивания?


person Zim3r    schedule 14.06.2013    source источник
comment
shell_exec после запуска вернуть результаты выполнения   -  person mohammad mohsenipur    schedule 14.06.2013
comment
Взгляните на proc_open() для взаимодействия с процессом .   -  person James Birkett    schedule 14.06.2013


Ответы (2)


Вы захотите использовать функцию shell_exec() в PHP (http://php.net/manual/en/function.shell-exec.php), чтобы запустить исполняемый файл. Передайте параметры в командной строке, например:

<?php
$outputOfExecutable = shell_exec("C:\\path\\to\\cmd.exe /c C:\\batchfile.cmd");
?>

Все, что ваш исполняемый файл возвращает в конце его выполнения, возвращается в ваш PHP-скрипт. Это означает, что ваш исполняемый файл должен возвращать путь к файлу, который он сгенерировал, чтобы вы могли прочитать его с помощью PHP, или он мог бы вернуть содержимое файла, и вы записываете его на диск, как хотите.

person Mathieu Dumoulin    schedule 14.06.2013

Обратите внимание на библиотеку процессов Symfony. Его намного проще и безопаснее использовать, чем просто функции PHP, такие как shell_exec или proc_open. Symfony Process поддерживает эти функции и обеспечивает дополнительный уровень безопасности.

person Piotr    schedule 27.03.2021