Nik*_*Nik 3 php parameters exe exec
我目前正在尝试从PHP网页(目前正在使用exec()
)中运行可执行文件.从命令行运行时,程序采用两个参数; 我不确定用PHP运行它的最佳方法是什么.
特别是,.exe可以使用以下语法从命令行运行:
my_program.exe input_file_name.txt / output_file_name.txt
程序处理输入文件中的数据并将处理后的数据放入输出文件中.这一切都可以从命令行(在Windows中)正常工作..exe是用Visual Basic编写的(它不是由我编写的).
我知道我通常可以通过以下方式给出exec()
一个参数:
exec('my_program.exe "example input parameter"');
如果编写.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');
Run Code Online (Sandbox Code Playgroud)
哪个没有成功.(我正在尝试让它在我的localhost上运行,以防相关......)
我相信,由于.exe完成了打开,写入和关闭输入和输出文件的所有工作,我只需要弄清楚如何编写将以适当的方式执行程序的PHP命令.
我见过类似的线索,所以我希望我不会再问什么了; 我无法找到与这种情况相关的线程.
编辑:如果它有帮助,我正在努力的整个范围是创建一个允许用户上传文件的Web界面,然后调用我已经给出的可执行文件(这是通过命令行指令给我的)如上所述)并为其生成具有已处理数据的输出文件.
基本的PHP语法错误:你使用了错误的引号.请改用双引号.
exec("C:\wamp\www\web_dev\test\my_program.exe $argument");
^--- ^---
Run Code Online (Sandbox Code Playgroud)
单引号('
)不会将变量插入到字符串中.你试图传递一个文字$
,a
等等...作为一个参数,而不是该变量的值.