首先让我说一下我在Windows上真正讨厌PHP的程度。
有了这个,我所要做的就是将文件传递给PHP,因为PHP msi安装程序没有工作(显然他们也不太关心在Windows上工作的PHP),我只是使用了压缩文件。
我有一个需要传递给php的文件,以及需要传递给文件的两个参数,所以我从cmd启动我的脚本:
c:\php\php.exe c:\my_location\Myscript.php t:\test AF7
上面的工作正常(经过大量的讨论之后),最后两个参数被传递给PHP脚本,并且如果它们被双引号转义并且我在脚本中使用了escapeshellarg(),则可以处理空格。
然而有人决定将我的脚本本身安装在包含空格的路径中,我不知道如何绕过它:
例如,如果我尝试:
c:\php\php.exe "c:\my location\myscript.php" t:\test AF7
它返回错误“无法打开输入文件:C:\ my”
注意:我也尝试使用'^'进行转义,但这似乎不起作用
为清晰起见,这是我脚本的布局:
Class Myscript
{
public static function convert($classfile, $par1, $par2)
{
//code here
}
}
call_user_func_array(array('Myscript', 'convert'), $argv);
我如何正确处理此问题,非常感谢您的帮助。