0

我需要在 php.ini 中获取 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);
    }

但问题是我需要文件路径,文件控件不允许我获取完整路径,我想在用户选择文件时上传之前向用户显示持续时间。这可能吗?

4

1 回答 1

0

Before uploading, the file resides at user's computer, PHP script at server-side has no knowledge of the file. As such, it would not be possible to obtain any data on the file before it is being uploaded.

于 2012-07-26T06:24:07.360 回答