如何在文件路径中转义空格我传递给PHP-cli(在Windows上)

时间:2014-09-02 13:49:09

标签: php windows cmd

首先让我说一下我在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);

我如何正确处理此问题,非常感谢您的帮助。

0 个答案:

没有答案