php - 使用来自 PHP 网页的输入参数运行 .exe

标签 php parameters exec exe

我目前正在尝试让一个可执行文件从 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/

相关文章:

php - 从页面抓取时如何按顺序获取数据

php - 使用 Laravel whenLoaded() 比一层更深

sql - 如何在 Hibernate 日志中显示 SQL 参数?

与系统调用混淆

php - 将缩略图与 mysql 数据库中的图像相关联的最佳方法是什么?

PHPExcel 和文本换行

arrays - Twig 路径函数 - 传递参数数组

function - Groovy 中的默认值参数作为中间参数

c - 使用 execlp 的简单 shell 变得很奇怪

javascript - nodejs exec 命令失败,没有有用的错误消息