带混合引号的PHP exec()

带混合引号的PHP exec(),php,ffmpeg,Php,Ffmpeg,我试图用PHP的exec()运行下面的ffmpeg命令,但是由于需要双引号和单引号,exec()失败了 /usr/bin/ffmpeg -loop 1 -i /var/www/html/data/photos/576c2ecf766fe.png -vf "zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125" -c:v libx264 -pix_fmt yuv420p -t 5 -s hd1080 -crf 17 /var/

我试图用PHP的exec()运行下面的ffmpeg命令,但是由于需要双引号和单引号,exec()失败了

/usr/bin/ffmpeg -loop 1 -i /var/www/html/data/photos/576c2ecf766fe.png -vf "zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125" -c:v libx264 -pix_fmt yuv420p -t 5 -s hd1080 -crf 17 /var/www/html/ffmpeg/zoomout.mp4
如何通过PHP运行此脚本


谢谢

您需要转义PHP中用于封装的任何引用类型。因此,假设您有
exec(“”)
它将是:

/usr/bin/ffmpeg -loop 1 -i /var/www/html/data/photos/576c2ecf766fe.png -vf "zoompan=z=\'if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))\':d=125" -c:v libx264 -pix_fmt yuv420p -t 5 -s hd1080 -crf 17 /var/www/html/ffmpeg/zoomout.mp4

您可以在此处阅读有关PHP字符串的更多信息。heredoc和nowdoc也可以工作。

我不确定这意味着什么。你能举个例子吗?转义两个内部双引号非常有效。非常感谢。