head() 和 fread()函数把文件直接输出到浏览器

284次阅读
没有评论
<?php  
$file_name = "down";
$file_name = "down.zip";     // 下载文件名    
$file_dir = "./down/";        // 下载文件存放目录    
// 检查文件是否存在    
if (! file_exists ($file_dir . $file_name )) {header('HTTP/1.1 404 NOT FOUND');  
} else {// 以只读和二进制模式打开文件   
    $file = fopen ($file_dir . $file_name, "rb" ); 

    // 告诉浏览器这是一个文件流格式的文件    
    Header ("Content-type: application/octet-stream" ); 
    // 请求范围的度量单位  
    Header ("Accept-Ranges: bytes" );  
    //Content-Length 是指定包含于请求或响应中数据的字节长度    
    Header ("Accept-Length:" . filesize ($file_dir . $file_name ) );  
    // 用来告诉浏览器,文件是可以当做附件被下载,下载后的文件名称为 $file_name 该变量的值。
    Header ("Content-Disposition: attachment; filename=" . $file_name );    

    // 读取文件内容并直接输出到浏览器    
    echo fread ($file, filesize ($file_dir . $file_name ) );    
    fclose ($file );    
    exit ();}    
正文完
有偿技术支持加微信
post-qrcode
 0
评论(没有评论)
验证码