zoukankan      html  css  js  c++  java
  • PHP处理大文件下载

     1 <?php
     2 set_time_limit(0);  //大文件在读取内容未结束时会被超时处理,导致下载文件不全。  
     3   
     4 $fpath = 'book.zip';
     5 $file_pathinfo = pathinfo($fpath);  
     6 $file_name = $file_pathinfo['basename'];  
     7 $file_extension = $file_pathinfo['extension'];  
     8 $handle = fopen($fpath,"rb");  
     9 if (FALSE === $handle)  
    10     exit("Failed to open the file");  
    11 $filesize = filesize($fpath);  
    12   
    13 header("Content-type:video/mpeg4");//更具不同的文件类型设置header输出类型  
    14 header("Accept-Ranges:bytes");  
    15 header("Accept-Length:".$filesize);  
    16 header("Content-Disposition: attachment; filename=".$file_name);  
    17   
    18 $contents = '';  
    19 while (!feof($handle)) {  
    20     $contents = fread($handle, 8192);  
    21     echo $contents;  
    22     @ob_flush();  //把数据从PHP的缓冲中释放出来  
    23     flush();      //把被释放出来的数据发送到浏览器
    24 }  
    25 fclose($handle);  
    26 exit;
  • 相关阅读:
    PHP操作数据库
    ANE打包
    我的C++笔记(数据的共享与保护)
    js 正计时和倒计时
    JAVA 日期 一个时间段总共几周,每一天星期几
    mybatis 处理in
    freemarker
    正则手机验证,身份证验证
    签到
    spring定时器
  • 原文地址:https://www.cnblogs.com/saonian/p/9204266.html
Copyright © 2011-2022 走看看