PHP下载大文件到浏览器

function DownFile($FilePath){
    header("Content-type:text/html;charset=utf-8"); 
    // $file_name="cookie.jpg"; 
    $file_name= basename($FilePath); 

    //用以解决中文不能显示出来的问题 
    $file_name = iconv("utf-8","gb2312",$file_name); 
    //$file_sub_path = $_SERVER['DOCUMENT_ROOT']."/DownFile/Uploads/"; 
    $path_curr = dirname(__FILE__);
    $file_sub_path = $path_curr."/Uploads/";
    $file_path = $file_sub_path.$file_name; 

    //首先要判断给定的文件存在与否 
    if(!file_exists($file_path)){ 
        echo "没有该文件文件".$file_path; 
        return ; 
    } 
    $fp=fopen($file_path,"r"); 
    $file_size=filesize($file_path); 

    //下载文件需要用到的头 
    Header("Content-type: application/octet-stream"); 
    Header("Accept-Ranges: bytes"); 
    Header("Accept-Length:".$file_size); 
    Header("Content-Disposition: attachment; filename=".$file_name); 
    $buffer = 1024; 
    $file_count = 0; 

    //向浏览器返回数据 
    while(!feof($fp) && $file_count<$file_size){ 
        $file_con=fread($fp,$buffer); 
        $file_count += $buffer; 
        echo $file_con; 
    } 
    fclose($fp); 
}

//echo dirname(__FILE__);exit;

$FilePath = "http://192.168.1.13:9004/DownFile/Uploads/2.zip";
//echo $FilePath;
DownFile($FilePath);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值