如何读取名称中包含空格和特殊字符的文件?

时间:2010-09-29 09:38:44

标签: php linux file

我的服务器中有很多视频,我使用以下代码来获取视频的持续时间,并且工作正常。

        ob_start();
        passthru("ffmpeg -i ".$srcfile." 2>&1");
        $duration = ob_get_contents();
        ob_end_clean();

但我无法获得有空格或任何特殊字符的文件的持续时间('#%etc ...

我无法重命名已存储的文件,并且这些文件的名称也存储在db中,并且在实时站点中更改所有文件会花费一些时间。

那么有没有方法可以访问/读取带有特殊字符的文件?

2 个答案:

答案 0 :(得分:3)

escapeshellarg

顺便说一句,你应该总是将它用于任何shell参数,而不是希望你的应用程序对shell注入攻击开放,这可能非常危险。< / p>

答案 1 :(得分:0)

在单引号之间引用文件名:

    passthru("ffmpeg -i '".$srcfile."' 2>&1");