转换时开始提供文件[PHP]

时间:2016-02-06 16:34:48

标签: php downloading serving

我想知道如何在我转换文件时提供文件,以降低客户端的等待时间。我在PHP中尝试了chunked头,但只下载了文件的第一个字节。

    header('Transfer-Encoding: chunked');
    header('Content-Type:audio/mpeg');
    header('Connection: keep-alive');
    header('Content-Disposition: attachment; filename="' . basename($mp3File) . '"');

    header('Connection: close');
    ob_clean();
    flush();

    $buffer = '';
    $handle = fopen($mp3File, 'rb');
    if($handle === false){
        return false;
    }

    while(!feof($handle)){
        $buffer = fread($handle, 8192);

        echo sprintf("%x\r\n", strlen($buffer));
        echo $buffer;
        echo "\r\n";

        ob_flush();
        flush();
    }

    echo sprintf("%x\r\n", 0);
    echo "\r\n";



    fclose($handle);

所以我在这里寻求一些帮助,以防某些人已经找到了一些技巧或其他什么。

0 个答案:

没有答案