我在计算机(Mac OS X)上托管了一个本地Web应用程序,其中包含一个使用QuickTime打开视频的按钮。在按钮上单击,将向具有以下内容的PHP脚本发出AJAX请求:
$cmd = "/usr/bin/open $videoFile"; // For example: $videoFile = '/Users/.../Downloads/abc.mp4'
$code = "Performing cmd: $cmd";
shell_exec($cmd);
echo '{code: "$code"}'; // JSON debug output
根据按钮,可以打开多个视频。问题是,它并不总是有效:
- 我手动打开的视频或在终端应用程序中使用相同命令打开的视频,PHP脚本可以正常打开
- 未打开的视频(之前)不会打开,而是QuickTime图标在扩展坞中跳转,但未显示任何窗口。然后,将完全相同的命令粘贴到“终端”应用程序中,然后打开QT。如果我退出QT并重试该脚本,它将正常工作(所有视频文件如果实际存在,都将经过检查;
exec(...)
也不起作用)