我的服务器中有很多视频,我使用以下代码来获取视频的持续时间,并且工作正常。
ob_start();
passthru("ffmpeg -i ".$srcfile." 2>&1");
$duration = ob_get_contents();
ob_end_clean();
但我无法获得有空格或任何特殊字符的文件的持续时间('#%etc ...
我无法重命名已存储的文件,并且这些文件的名称也存储在db中,并且在实时站点中更改所有文件会花费一些时间。
那么有没有方法可以访问/读取带有特殊字符的文件?
答案 0 :(得分:3)
顺便说一句,你应该总是将它用于任何shell参数,而不是希望你的应用程序对shell注入攻击开放,这可能非常危险。< / p>
答案 1 :(得分:0)
在单引号之间引用文件名:
passthru("ffmpeg -i '".$srcfile."' 2>&1");