echo exec('C:\ffmpeg\bin\ffmpeg.exe -framerate 1/5 C:\xamppp\htdocs\gen\image1.jpg -c:v libx264 -r 30 -pix_fmt yuv420p C:\xamppp\htdocs\gen\out.mp4 2>&1');
这是作品,但与""它没有用。
和""并且其中的变量不起作用。
echo exec("C:\ffmpeg\bin\ffmpeg.exe -framerate 1/5 -i C:\xamppp\htdocs\gen\$image.jpg -c:v libx264 -r 30 -pix_fmt yuv420p C:\xamppp\htdocs\gen\$outputname.mp4 2>&1");
答案 0 :(得分:0)
从手册中: 如果字符串用双引号(")括起来,PHP将解释更多特殊字符的转义序列
(http://php.net/manual/en/language.types.string.php#language.types.string.syntax.double)
您需要将反斜杠转义为\\
然后,您正在做的事情非常容易受到代码注入的影响。更好地阅读escapeshellcmd