0

当我尝试从我的 PHP 网站下载大尺寸视频时,下载在下载近 18 MB 后停止。


我正在使用以下脚本下载视频文件。

@ignore_user_abort();
@set_time_limit(0);
ob_end_clean();

if (!is_file($str_clip_path) or connection_status()!=0) return(FALSE);

header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Expires: ".gmdate("D, d M Y H:i:s", mktime(date("H")+2, date("i"), date("s"), date("m"), date("d"), date("Y")))." GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Content-Type: application/octet-stream");
header("Content-Length: ".(filesize($str_clip_path)));
header("Content-Disposition: attachment; filename=".$str_download_filename);
header("Content-Transfer-Encoding: binary");
header("Accept-Ranges: bytes");

if ($fp = fopen($str_clip_path, 'rb')) 
{
    while(!feof($fp)) 
    {
        print(fread($fp, 1*(1024*1024)));
        flush();
    ob_flush();
    }
    fclose($fp);
    exit();
}

在我的 IIS 服务器上,为特定变量设置了以下值。

memory_limit        512M
max_execution_time          10800
max_input_time      10800
post_max_size       512M
upload_max_filesize     512M

请帮助我对上述脚本进行必要的更改,以便我可以从网站下载更大的视频文件。

提前谢谢你,KRA

4

1 回答 1

0

如果你使用 nginx 网络服务器,你可以使用x-accel-redirect

于 2012-11-01T10:48:44.933 回答