北京尚网汇智科技有限公司
您当前所在的位置:尚网汇智网站建设 > PHP技术 > 文章详细
网站建设知识
NEWS
联系我们
  • 网站建设服务电话
  • 400-883-2887
  • 公司地址:北京市昌平科技园区创意大厦2-806
  • 服务项目
    高端网站建设
    移动/微信网站建设
    手机APP开发
    OA/ERP业务系统开发
    网站维护托管
    CMS模板制作

    【PHP代码】php文件下载代码(支持远程文件下载)

    发布时间:2014-07-18 00:26:17

    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)
        {
            $buffer = fread($fp,$buffer_size);
            echo $buffer;
            $cur_pos += $buffer_size;
        }
       
        $buffer = fread($fp,$file_size-$cur_pos);
        echo $buffer;
        fclose($fp);
        return true;
    }
    //=========================== 第二种 =================================//
    $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.php100.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);
    }


    文章出自:北京网站建设公司-尚网汇智 https://www.net2006.com 如转载请注明出处!
    咨询服务热线
    400-883-2887
    客服电话:400-883-2887  传真:010-51654992  E-mail:support@net2006.com
    本站设计已受版权保护,任何公司及个人不得复制,违者将依法追究责任,特此声明。

    Copyright © 2005-2018 北京尚网汇智科技有限公司 版权所有 京ICP备13031271号
    查找内容: