在php中执行外部程序并返回输出文件下载链接

时间:2013-06-14 09:33:02

标签: php exec output

我正在尝试通过PHP运行file_creator.exe,它接受​​一些参数并生成输出文件。那么如何获取输出文件的名称才能生成下载链接?

2 个答案:

答案 0 :(得分:1)

您将需要在PHP(http://php.net/manual/en/function.shell-exec.php)中使用shell_exec()函数来运行您的exe文件。传入命令行中的参数,例如:

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

无论您的可执行文件在结束时返回什么,执行都会返回到您的PHP脚本。这意味着您的可执行文件应返回它生成的文件的路径,以便您可以使用PHP实际读取它,或者它可以返回文件内容并将其写入磁盘,这是您所希望的。

答案 1 :(得分:0)

请考虑Symfony Process library。使用它比使用 shell_execproc_open 之类的 PHP 函数要容易和安全得多。 Symfony Process 封装了这些功能并提供了额外的安全级别。