我需要在php中获取wav文件的持续时间。我知道有很多代码示例可用于此问题。我用过这个。如何在上传之前在php中查找wav文件的持续时间?
function wavDur($file) {
$fp = fopen($file, 'r');
if (fread($fp,4) == "RIFF") {
fseek($fp, 20);
$rawheader = fread($fp, 16);
$header = unpack('vtype/vchannels/Vsamplerate/Vbytespersec/valignment/vbits',$rawheader);
$pos = ftell($fp);
while (fread($fp,4) != "data" && !feof($fp)) {
$pos++;
fseek($fp,$pos);
}
$rawheader = fread($fp, 4);
$data = unpack('Vdatasize',$rawheader);
$sec = $data[datasize]/$header[bytespersec];
$minutes = intval(($sec/60) % 60);
$seconds = intval($sec % 60);
return str_pad($minutes,2,"0", STR_PAD_LEFT).":".str_pad($seconds,2,"0", STR_PAD_LEFT);
}
但问题是,我需要的文件控制不会让我得到充分的路径我只想当用户选择的文件上传之前,展会期间给用户的文件路径。这可能吗?
这对于php来说是不可能的,因为您必须先上传文件。使用html5和JavaScript可能是可能的。 – Musa 2012-07-26 06:25:34
html 5将与IE浏览器兼容性问题。 – 2012-07-26 06:30:43
'Flash'可能可以实现 – Musa 2012-07-26 06:33:28