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

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