我需要在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