• 如何下载文件


    c
    <?php
    
      require"a.php";
      header("Content-type:text/html;charset=utf-8");
      //接收要下载的文件名字
      $file_name=$_REQUIRE[''];
      //调用
      down_fille($file_name,"/xxx/xxx/");
    
    
    
    ?>
    
    
    
    
    b
    <?php
     header("Content-type:text/html;charset=utf-8");
      <a href='b.php?filename=sun.jpg'>点击下载</a><img src='sun.jpg'/><br/>
    
    ?>
    
    
    a
    <?php
    
        //对函数的说明
        //1.参数说明$file_name  文件名
           //     $file_sub_dir:下载文件子路径     '"/xxx/xxx/"'
        function down_file($file_name,$file_sub_patth){
        //死去活来,演示下载一个图片
        //如果文件是中文的
    
        //$file_name="san.jpg";
        //原因PHP文件函数比较老,需要中文转码   gb2312
        $flie_name=iconv("utf-8","gb2312",$file_name);
    
        //路径
        //$file_path="./文件名/".$file_name;
        //如果你希望使用绝对路径
        //$file_path=$_SERVER['DOCUMENT_ROOT']."./文件名/".$file_name;
    
        
        //1打开文件
        if(!file_exists($file_name)){
        echo "文件不存在!";
        return;
        
    }
        $fp=foper($file_name,"r");
        //获取下载文件的大小
        $file_size=filiesize($file_nsme);
      //超过多少就不能下载了
      if($file_soze>10*102481024){
      echo "<script language='javascript'>window,alert('文件过大')</script>";
      return;
    }
    
    
        //返回的文件
        header("cache-control:application/octet-stream");
        //按照字节大小返回
        header("Accept-Ranges:bytes");
        //返回文件大小
        header("Accept-Leagth:$file_size");
        //这里客户端弹出对话框,对应的文件名
        header("Content-Didposition:attachment;filename=".$file_name);
    
        //向客户端回送数据
        $buffer="1024";
        //为了下载安全,我们最好做一个文件字节读取计数器
        $file_count=0;
        //这句话判断文件是否结束
        while(!feof($fp)&& ($file_size-$file_count>0)){
        $file_date=fread($fp,$buffer);
        //统计多少个字节
        $file_count+=$buffer;
        //把部分数据回送给浏览器
        echo $file_deta;
    
    }
        //关闭文件
        fclose($fp);
    
    
    }
    
        //测试函数
        down_file(名字,"/xxx/xxx/");
    
    ?>
  • 相关阅读:
    JVM1
    JVM
    安卓权威编程指南 -笔记(19章 使用SoundPool播放音频)
    安卓权威编程指南 -笔记(18章 处理assets)
    安卓权威编程指南 挑战练习 16章
    安卓权威编程指南 -挑战练习 15章。
    安卓权威编程指南 挑战练习 13.8 用于RecyclerView的空视图
    安卓权威编程指南 挑战练习13.7-优化字符串资源显示
    关于List比较好玩的操作
    安卓权威编程指南 挑战练习13.6 14.8
  • 原文地址:https://www.cnblogs.com/xujing6/p/6020708.html
Copyright © 2020-2023  润新知