zoukankan      html  css  js  c++  java
  • PHP文件下载方式

    <?php
    // 不能是中文目录,其实如果是 .rar, .zip 类的这些文件,直接连接就可以下载了!
    function download($file_dir,$file_name)
    //参数说明:
    //file_dir:文件所在目录
    //file_name:文件名
    {
        $file_dir = trim($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;
    }


    download('', 'note.txt');
    ?>

  • 相关阅读:
    IDE-常用插件
    Go-竞态条件-锁
    Go-发送邮件
    复刻网络Yum源配置为本地Yum源使用
    测试
    九.查找算法
    九.多线程-PDF笔记
    八.设计模式
    八.排序算法:复杂度
    七.注解
  • 原文地址:https://www.cnblogs.com/lin3615/p/3543531.html
Copyright © 2011-2022 走看看