用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > php教程

php文件下载代码,支持远程文件下载

时间:2015-01-23  来源:西部数据  作者:西部数据

本文章提供的三款文件下载代码有二款是支持本地服务器文件下载的,另一款支持下载远程服务器上的文件下载到本地,代码如下:

  1. function download($file_dir,$file_name
  2. //参数说明: 
  3. //file_dir:文件所在目录 
  4. //file_name:文件名 
  5.     $file_dir = chop($file_dir);//去掉路径中多余的空格 
  6.     //得出要下载的文件的路径 
  7.     if($file_dir != ''
  8.     { 
  9.         $file_path = $file_dir
  10.         if(substr($file_dir,strlen($file_dir)-1,strlen($file_dir)) != '/'
  11.             $file_path .= '/'
  12.         $file_path .= $file_name
  13.     }             
  14.     else 
  15.         $file_path = $file_name;     
  16.      
  17.     //判断要下载的文件是否存在 
  18.     if(!file_exists($file_path)) 
  19.     { 
  20.         echo '对不起,你要下载的文件不存在。'
  21.         return false; 
  22.     } 
  23.  
  24.     $file_size = filesize($file_path); 
  25.  
  26.     header("content-type: application/octet-stream"); 
  27.     header("accept-ranges: bytes"); 
  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.     {//开源代码phpfensi.com 
  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.  
  1. <?php  
  2.  
  3. $file_name = "info_check.exe";  
  4.     $file_dir = "/public/www/download/";  
  5.     if (!file_exists($file_dir . $file_name)) { //检查文件是否存在  
  6.     echo "文件找不到";  
  7.     exit;  
  8.     } else {  
  9.     $file = fopen($file_dir . $file_name,"r"); // 打开文件  
  10.     // 输入文件标签  
  11.     header("content-type: application/octet-stream");  
  12.     header("accept-ranges: bytes");  
  13.     header("accept-length: ".filesize($file_dir . $file_name));  
  14.     header("content-disposition: attachment; filename=" . $file_name);  
  15.     // 输出文件内容  
  16.     echo fread($file,filesize($file_dir . $file_name));  
  17.     fclose($file);  
  18.     exit;}  
  19.  
  20.  
  21. ?> 
  22.  
  23.  
  24. <?  
  25. // 如果文件路径是http和ftp,下载代码如下: 
  26. $file_name = "info_check.exe";  
  27.     $file_dir = " http://www.phpfensi.com/";   
  28.     $file = @ fopen($file_dir . $file_name,"r");  
  29.     if (!$file) {  
  30.     echo "文件找不到";  
  31.     } else {  
  32.     header("content-type: application/octet-stream");  
  33.     header("content-disposition: attachment; filename=" . $file_name);  
  34.     while (!feof ($file)) {  
  35.     echo fread($file,50000);  
  36.     }  
  37.     fclose ($file);  
  38.     } 
  39.  
  40.     ?>
来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
栏目更新
栏目热门