0

如何运行“.exe”文件抛出我的 PHP 类?或者有没有其他方法可以做到这一点?

我已经用过

exec();
passthru();

功能,但它给我错误,我的代码:

$path = "C:\Program Files\Softland\doPDF 7\dopdf.exe";

$result = passthru('$path 2>&1');

错误 :

'$path' is not recognized as an internal or external command, operable program or batch file.
4

3 回答 3

2

这不是一个好习惯,但是......

$result = passthru($path.' 2>&1');

或者

$result = passthru("$path 2>&1");

您应该(如您所见)将$path变量放在单引号之外(防止变量评估和替换)或放置双引号(允许变量替换)

于 2013-10-09T14:04:53.740 回答
1

如果要将 $path 替换为变量值,则需要使用双引号

$result = passthru("$path 2>&1");
于 2013-10-09T14:05:46.123 回答
0

问题是您使用的是单引号,因此传递给 shell 的字符串实际上是 '$path 2>&1'。在 PHP 中,变量替换不会出现在单引号中,只有双引号。

因此,您需要连接字符串或将其放在双引号中。

$result = passthru("$path 2>&1");

于 2013-10-09T14:09:09.740 回答