PHP exec带引号

时间:2013-12-16 17:53:11

标签: php exec

我试图在Windows的XAMPP环境中使用PHP的exec命令。

当我使用简单的命令行并输入

" c:\ Program Files(x86)\无论目录\ sometool.exe" " C:\ TEMP \ TEST.DAT"

一切都很完美。

然后我使用PHP的exec命令:

<?php
exec('"c:\Program Files (x86)\whatever directory\sometool.exe" c:\temp\test.dat');
?>

它也有效。 但是当我包含引号时,工具似乎没有得到参数。这意味着

<?php
exec('"c:\Program Files (x86)\whatever directory\sometool.exe" "c:\temp\test.dat"');
?>

不起作用。我试过逃避和一切。我找不到解决方案。但是我需要这里引用以便在名称中启用带空格的路径。你能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:2)

将您的路径保存为变量..然后执行该操作。用下面的单引号包装路径。

$cmd = '"C:\my path with spaces\targetapp.exe" C:\mypathnospaces\targetfile.xxx';

或者 - 尝试修复所有内容中的空格,尝试在反斜杠上使用转义字符,这是UNTESTED,让我知道它是否有效。

$cmd = '"C:\my path with spaces\targetapp.exe" C:\\my other path with spaces\\targetfile.xxx';

exec($cmd)

另一个解决方案是将实际的PATH添加到您的Windows环境中,这样您根本不需要调用路径。