1
我有一个PHP视频上传脚本,并在最后它启动一个ffmpeg脚本来转换上传的文件。然后它将视频信息插入到mysql数据库中,并且在状态字段中,由于文件正在被处理,所以值为0。如何设置一个进程以便在另一个进程之后执行?
我一直在想,随着linux ffmpeg命令,我可以把一个延迟的过程,执行一个PHP文件,以便文件转换后,ffmpeg过程完成它执行PHP文件,该文件有一个更新语句并可以将状态下的mysql数据库中的视频条目更新为1.要做到这一点,虽然我需要以某种方式将视频ID传递到终端,以便它可以将它传递给PHP文件...任何人都知道如何做到这一点?
$sql = 'INSERT INTO video (id, uploader, video_id, status) VALUES(?,?,?,?)';
$stmt3 =$conn->prepare($sql);
$result=$stmt3->execute(array($id,$username,$video_id,0));
$command = shell_exec('/usr/local/bin/ffmpeg -i /home/g/Desktop/'.$id2.' -acodec libfaac -aq 100 -vcodec libx264 -preset slow -crf 22 -threads 0 /home/g/Desktop/'.$id2.'.flv');
那么是$ id2发布或获取update_db.php?你在档案中是指什么? – Scarface 2011-06-11 17:27:36
@Sfaceface,它可能是['$ argv [1]'或'$ argv [2]'](http://php.net/manual/en/reserved.variables.argv.php)。 (我不知道'$ argv [0]'是PHP解释器'/ usr/bin/php'还是'$ argv [0]'是PHP脚本'/ home/g/bin/update_db .php'。但一些小测试会显示。:) – sarnold 2011-06-11 20:39:19
它的工作原理,谢谢sooooooo很多sarnold。你是最好的。 – Scarface 2011-06-11 21:48:48