php专区

 首页 > php专区 > PHP高级 > 文件上传 > php文件下载代码,支持远程文件下载 - php上传下载

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

分享到:
【字体:
导读:
          本文章提供的三款文件下载代码有二款是支持本地服务器文件下载的,另一款支持下载远程服务器上的文件下载到本地,代码如下:functiondownload(......

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

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

  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.  
  2. $file_name = "info_check.exe";  
  3.     $file_dir = "/public/www/download/";  
  4.     if (!file_exists($file_dir . $file_name)) { //检查文件是否存在  
  5.     echo "文件找不到";  
  6.     exit;  
  7.     } else {  
  8.     $file = fopen($file_dir . $file_name,"r"); // 打开文件  
  9.     // 输入文件标签  
  10.     header("content-type: application/octet-stream");  
  11.     header("accept-ranges: bytes");  
  12.     header("accept-length: ".filesize($file_dir . $file_name));  
  13.     header("content-disposition: attachment; filename=" . $file_name);  
  14.     // 输出文件内容  
  15.     echo fread($file,filesize($file_dir . $file_name));  
  16.     fclose($file);  
  17.     exit;}  
  18.  
  19.  
  20. ?> 
  21.  
  22.  
  23. // 如果文件路径是http和ftp,下载代码如下: 
  24. $file_name = "info_check.exe";  
  25.     $file_dir = " http://www.phpfensi.com/";   
  26.     $file = @ fopen($file_dir . $file_name,"r");  
  27.     if (!$file) {  
  28.     echo "文件找不到";  
  29.     } else {  
  30.     header("content-type: application/octet-stream");  
  31.     header("content-disposition: attachment; filename=" . $file_name);  
  32.     while (!feof ($file)) {  
  33.     echo fread($file,50000);  
  34.     }  
  35.     fclose ($file);  
  36.     } 
  37.  
  38.     ?>
分享到:
php查找指定目录指定大小的文件程序 - ph...
php查找指定目录指定大小的文件程序 php查找文件大小的原理是遍历目录然后再利用filesize来计算文件大小,然后我们再加一判断就可以了,下面整理了一些例子. 我们先来看遍历目录,代码如下: function tree($directory)   {    $mydir = dir($directory);    echo "n...
php文件上传简单实例 - php上传下载
php文件上传简单实例 txt,rar,zip,jpg,jpeg,gif,png,swf,wmv,avi,wma,mp3,mid,jar,jad,exe,html,htm,css,js,doc上传,音乐文件等都可以,实例代码如下:         php文件上传           
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……