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);
}
しかし、問題は、ユーザーがファイルを選択したときにアップロードする前に、ユーザーに期間を表示したいフルパスをファイルコントロールが取得できないファイルパスが必要なことです。これは可能ですか?