好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

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

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

function  download( $file_dir , $file_name )  //参数说明:   //file_dir:文件所在目录   //file_name:文件名   {       $file_dir  =  chop ( $file_dir ); //去掉路径中多余的空格        //得出要下载的文件的路径        if ( $file_dir  !=  '' )      {           $file_path  =  $file_dir ;           if ( substr ( $file_dir , strlen ( $file_dir )-1, strlen ( $file_dir )) !=  '/' )               $file_path  .=  '/' ;           $file_path  .=  $file_name ;      }                   else            $file_path  =  $file_name ;                 //判断要下载的文件是否存在        if (! file_exists ( $file_path ))      {           echo   '对不起,你要下载的文件不存在。' ;           return  false;      }         $file_size  =  filesize ( $file_path );        header( "content-type: application/octet-stream" );      header( "accept-ranges: bytes" );      header( "accept-length: $file_size" );      header( "content-disposition: attachment; filename=" . $file_name );             $fp  =  fopen ( $file_path , "r" );       $buffer_size  = 1024;       $cur_pos  = 0;             while (! feof ( $fp )&& $file_size - $cur_pos > $buffer_size )      { //开源代码phpfensi.com            $buffer  =  fread ( $fp , $buffer_size );           echo   $buffer ;           $cur_pos  +=  $buffer_size ;      }             $buffer  =  fread ( $fp , $file_size - $cur_pos );       echo   $buffer ;      fclose( $fp );       return  true;    } 
<?php     $file_name  =  "info_check.exe" ;        $file_dir  =  "/public/www/download/" ;        if  (! file_exists ( $file_dir  .  $file_name )) {  //检查文件是否存在         echo   "文件找不到" ;        exit ;       }  else  {        $file  =  fopen ( $file_dir  .  $file_name , "r" );  // 打开文件         // 输入文件标签        header( "content-type: application/octet-stream" );       header( "accept-ranges: bytes" );       header( "accept-length: " . filesize ( $file_dir  .  $file_name ));       header( "content-disposition: attachment; filename="  .  $file_name );        // 输出文件内容         echo   fread ( $file , filesize ( $file_dir  .  $file_name ));       fclose( $file );        exit ;}       ?>      <?   // 如果文件路径是http和ftp,下载代码如下:   $file_name  =  "info_check.exe" ;        $file_dir  =  " http://www.phpfensi.com/" ;         $file  = @  fopen ( $file_dir  .  $file_name , "r" );        if  (! $file ) {        echo   "文件找不到" ;       }  else  {       header( "content-type: application/octet-stream" );       header( "content-disposition: attachment; filename="  .  $file_name );        while  (! feof  ( $file )) {        echo   fread ( $file ,50000);       }       fclose ( $file );       }        ?>

查看更多关于php文件下载代码,支持远程文件下载 - php上传下载的详细内容...

  阅读:69次