8-25 2011
PHP不通过管道获取CMD内容(媒体文件信息)方法
分类:
个人日记
还是由于某项目需要,要分析出媒体文件的信息。
于是这几天开始狂调试...各种方案..
分析文件,首先想到的是各种类,于是到网上寻找分析媒体文件的类,很快找到了getID3。于是挂上QQ签名:”getID3太好了“。可惜好景不长,实际测试的时候什么也不返回,原因不明,感觉不能浪费时间,于是QQ签名改为"getID3太坏了"。继续寻找...
接着找到了FFmpeg的PHP扩展,随便在google搜FFmpeg php就出来了...
但是由于我本地木有编译环境,网上现成的DLL又太老。只能放弃。
到最后查到了一个非常好的函数ob_get_contents()
这个函数能缓存任何东西,于是把执行的CMD结果缓存进去。
然后读取出来之后,使用正则表达式把每个参数记录到变量里,over。
光说没演示不行啊,来一段:
ob_start();
passthru(FFMPEG_PATH, $file);
$info = ob_get_contents();
ob_end_clean();
接下来该干啥就干啥了,东西都在$info里,简单吧?什么管道看着头晕,哎不研究了。


#1php真强大,后悔之前学的asp#2In the complicated world we live in, it's good to find simple sotliouns.