如何使用exec方法启动exe应用程序并在PHP中传递参数


How to use exec method to start exe application and pass arguments in PHP?

这听起来很简单,但我一定遗漏了一些东西。我有一个自定义的exe程序,它在C:'dummy'dummytest.exe中,我在 C:'text'test.txt 中有一个文本文件。我只想通过在PHP中传递test.txt作为参数来启动dummytest.exe。以下是我尝试过的: $arg = "C:'text'test.txt" exec("C:'dummy'dummytest.exe".$arg);我也试过只用单曲"''"。我试过了exec("C:'dummy'dummytest.exe $arg");,但似乎什么都不起作用。我得到 C:'dummy is not recognized as an internal or external command, operable or batch file error.当我手动转到命令行并执行C:'dummy'dummytest.exe test.txt 应用程序运行良好。我和执行官在这里缺少什么?

请改用"shell_exec"命令。

shell_exec("[BAT or EXE-File] [Params]");

希望这能有所帮助!

编辑

当使用带有路径的可执行文件和参数时,必须对它们进行引号引用。因此,一个例子如下:

echo nl2br(shell_exec("'"F:''N3V Games''Trainz Simulator 12''compile_gs.bat'" '"F:''xampp''htdocs''SHELL''EBuLa.gs'""));

此示例将CMD窗口的输出直接打印到页面上。

如果可执行文件像php文件一样放在同一目录中,您可以运行:

echo nl2br(shell_exec("compile_gs.bat EBuLa.gs"));