zoukankan      html  css  js  c++  java
  • PHP学习笔记三十八【下载】

    <?php
       //演示下载一个图片
       $file_name="SunSet.jpg";
       
       $file_name=iconv("utf-8","gb2312",$file_name); //对文件名进行处理,因为php对中文支持不够友好【把utf-8 转为 gb2312】
       //1.打开文件,先判断是否存在
       if(!file_exists($file_name)){
            echo "文件不存在";
             return    ;    
       }
       $fp=fopen($file_name,"r");//以只读的方式打开文件 
      $file_size=filesize($file_name);
       echo "文件大小:".filesize($file_name);
       // 输入文件标签
        header("Content-type: application/octet-stream");
        header("Accept-Ranges: bytes");
        header("Accept-Length: ".$file_size);
        header("Content-Disposition: attachment; filename=" . $file_name);
        //向客户端回送数据
        $buffer=1024; //定义每次要读取的数据大小
        //为了下载安全,可以做一个文件字节读取字数器
        $file_count=0;
        while(!feof($fp)&&($file_size-$file_count>0))//feof用于判断文件是否结束
        {
          $file_data=fread($fp,$buffer);//读取数据
          $file_count+=$buffer; //统计读取了多少字节
          //把部分数据回送给浏览器
          echo $file_data;
        }
        //关闭文件
        fclose($fp);
    ?>
        
  • 相关阅读:
    23.课程应用接口
    22.课程页面设计
    21.手机接口
    20.云通讯
    19.JWT
    18.权限认证
    解决github下载慢的终极方法
    vs code 配置c/c++环境
    Python 字符编码处理总结
    Python编码
  • 原文地址:https://www.cnblogs.com/sumg/p/4052909.html
Copyright © 2011-2022 走看看