首页 > 语言 > PHP > 正文

php文件下载的应用实例

2024-09-04 11:44:59
字体:大 中 小
来源:转载
供稿:网友

本文章为你提供这款php文件下载代码是一款利用header把文件代码发送到客户端的浏览器进行下载,php实例代码如下:

  1. <?php 
  2. function download($file_dir,$file_name) 
  3. //参数说明: 
  4. //file_dir:文件所在目录 
  5. //file_name:文件名,开源代码Vevb.com 
  6. { 
  7.     $file_dir = chop($file_dir);//去掉路径中多余的空格 
  8.     //得出要下载的文件的路径 
  9.     if($file_dir != '') 
  10.     { 
  11.         $file_path = $file_dir; 
  12.         if(substr($file_dir,strlen($file_dir)-1,strlen($file_dir)) != '/') 
  13.             $file_path .= '/'; 
  14.         $file_path .= $file_name; 
  15.     }             
  16.     else 
  17.         $file_path = $file_name;     
  18.      
  19.     //判断要下载的文件是否存在www.111cn.net 
  20.     if(!file_exists($file_path)) 
  21.     { 
  22.         echo '对不起,你要下载的文件不存在。'; 
  23.         return false; 
  24.     } 
  25.     $file_size = filesize($file_path); 
  26.   
  27.     header("Content-type: application/octet-stream"); 
  28.     header("Accept-Ranges: bytes");//111cn.net 
  29.     header("Accept-Length: $file_size"); 
  30.     header("Content-Disposition: attachment; filename=".$file_name); 
  31.      
  32.     $fp = fopen($file_path,"r"); 
  33.     $buffer_size = 1024; 
  34.     $cur_pos = 0; 
  35.      
  36.     while(!feof($fp)&&$file_size-$cur_pos>$buffer_size) 
  37.     { 
  38.         $buffer = fread($fp,$buffer_size); 
  39.         echo $buffer; 
  40.         $cur_pos += $buffer_size; 
  41.     } 
  42.      
  43.     $buffer = fread($fp,$file_size-$cur_pos); 
  44.     echo $buffer; 
  45.     fclose($fp); 
  46.     return true; 
  47. } 
  48. ?> 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表