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);
    ?>
        
  • 相关阅读:
    CF235D
    模拟赛 circle 题解
    平面图总结
    kd 树总结
    思维题
    luogu P1600 天天爱跑步
    UOJ #42. 【清华集训2014】Sum
    FZOJ 4344 连通性
    平衡树
    计蒜客 T3225 Darko 的生成树
  • 原文地址:https://www.cnblogs.com/sumg/p/4052909.html
Copyright © 2011-2022 走看看