Php 以db为单位保存音频文件长度

Php 以db为单位保存音频文件长度,php,mysql,audio,Php,Mysql,Audio,我有将近200个ogg文件,我需要获得它们的音频长度并将其保存在数据库中 我知道PHP,但我认为我不能用PHP和MySQL完成我的任务 您能为我的问题推荐一个解决方案吗?如果您使用linux/unix并安装了ffmpeg,只需执行以下操作: $time = exec("ffmpeg -i " . escapeshellarg($path) . " 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | sed s/,//"); list($hms, $

我有将近200个ogg文件,我需要获得它们的音频长度并将其保存在数据库中

我知道PHP,但我认为我不能用PHP和MySQL完成我的任务


您能为我的问题推荐一个解决方案吗?

如果您使用linux/unix并安装了ffmpeg,只需执行以下操作:

$time = exec("ffmpeg -i " . escapeshellarg($path) . " 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | sed s/,//");
list($hms, $milli) = explode('.', $time);
list($hours, $minutes, $seconds) = explode(':', $hms);
$total_seconds = ($hours * 3600) + ($minutes * 60) + $seconds;
如果没有,那么你应该看看一些支持这个特性的库,也许像Kacey提到的那样

所以你可以用

KTaglib_MPEG_AudioProperties::getLength 
我的答案开头的代码最初是由Stephen J.Fuhry编写的,可以看到

阅读文档,其中有一些关于获取持续时间的信息。