我目前正在尝试让一个可执行文件从 PHP 网页中运行(目前正在使用 exec()
)。从命令行运行时,该程序有两个参数;我不确定用 PHP 运行它的最佳方法是什么。
特别是,可以使用以下语法从命令行运行 .exe:
my_program.exe input_file_name.txt/output_file_name.txt
程序对输入文件中的数据进行处理,并将处理后的内容放入输出文件中。从命令行(在 Windows 中)这一切都可以正常工作。 .exe 是用 Visual Basic 编写的(不是我写的)。
我知道我通常可以通过执行以下操作为 exec()
提供一个参数:
exec('my_program.exe "示例输入参数"');
如果 .exe 被编写为从 argv()
获取输入,我已经完成了测试。我尝试了一些事情,例如:
$argument = "C:\wamp\www\web_dev\test\input.txt / C:\wamp\www\web_dev\test\output.txt";
exec('C:\wamp\www\web_dev\test\my_program.exe $argument');
没有成功。 (我目前正在尝试让它在我的本地主机上运行,以防万一。)
我相信,由于 .exe 完成了打开、写入和关闭输入和输出文件的所有工作,我只需要弄清楚如何编写一个 PHP 命令,以适当的方式执行程序.
我看到过与此类似的话题,所以我希望我没有再问任何问题;我找不到与这种情况完全相关的线索。
编辑:如果有帮助,我正在努力的总体范围是创建一个网络界面,允许用户上传文件,然后调用我得到的可执行文件(上面提到的命令行指令提供给我)并为用户生成一个包含处理后数据的输出文件。
最佳答案
基本的 PHP 语法错误:您使用了错误的引号。请改用双引号。
exec("C:\wamp\www\web_dev\test\my_program.exe $argument");
^--- ^---
单引号 ('
) 不会将变量插入到字符串中。您正在尝试传递文字 $
、a
等...作为参数,而不是该变量的值。
关于php - 使用来自 PHP 网页的输入参数运行 .exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13446492/