无法在PHP中找到文件并使用ffmpeg exec进行压缩

无法在PHP中找到文件并使用ffmpeg exec进行压缩,php,file,ffmpeg,compression,Php,File,Ffmpeg,Compression,我正在尝试使用ffmpeg压缩文件,但尽管有正确的文件路径,但找不到文件: 我在这里使用的代码是: echo $ypath; exec("ffmpeg -i ".$ypath." -vf 'scale=iw/3:ih/3' ".$prevPath ." 2>&1", $error); foreach($error as $next) { echo "<br>".$next; } 有

我正在尝试使用ffmpeg压缩文件,但尽管有正确的文件路径,但找不到文件:

我在这里使用的代码是:

echo $ypath;
exec("ffmpeg -i ".$ypath." -vf 'scale=iw/3:ih/3' ".$prevPath ." 2>&1", $error);
foreach($error as $next) {
    echo "<br>".$next;
}
有什么问题,为什么找不到有问题的文件。我100%确定路径是正确的,因为我在代码上方使用它来转换同一目录中的图像

如何解决此问题?

文件名中的符号(
&
)可能是导致此问题的原因。解决此问题的一种简单方法是将
$ypath
值括在引号中:

exec('ffmpeg -i "'.$ypath.'" -vf "scale=iw/3:ih/3" "'.$prevPath .'" 2>&1', $error);
将此与文件名是否包含引号或其他特殊字符结合起来。

文件名中的符号(
&
)可能是导致此问题的原因。解决此问题的一种简单方法是将
$ypath
值括在引号中:

exec('ffmpeg -i "'.$ypath.'" -vf "scale=iw/3:ih/3" "'.$prevPath .'" 2>&1', $error);

将此与您的文件名是否包含引号或其他特殊字符结合起来。

谢谢,我认为是
&
引起了问题。。但是,我复制粘贴了您的解决方案,它导致了一个PHP错误-您的语法一定有问题..是的,我在$prevpath周围的引号顺序错误。这很有效,谢谢!谢谢,我也认为是
&
引起了这个问题。。但是,我复制粘贴了您的解决方案,它导致了一个PHP错误-您的语法一定有问题..是的,我在$prevpath周围的引号顺序错误。这很有效,谢谢!