我试图在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"');
?>
不起作用。我试过逃避和一切。我找不到解决方案。但是我需要这里引用以便在名称中启用带空格的路径。你能指出我正确的方向吗?
答案 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环境中,这样您根本不需要调用路径。