php控制文件下载速度的方法

5年以前  |  阅读数:682 次  |  编程语言:PHP 

本文实例讲述了php控制文件下载速度的方法。分享给大家供大家参考。具体实现方法如下:


    <?php
     /*
     * set here a limit of downloading rate (e.g. 10.20 Kb/s)
     */
     $download_rate = 10.20;
     $download_file = 'download-file.zip'; 
     $target_file = 'target-file.zip';
     if(file_exists($download_file)){
      /* headers */
      header('Last-Modified:'.gmdate('D, d M Y H:i:s').'GMT');
      header('Cache-control: private');
      header('Content-Type: application/octet-stream');
      header('Content-Length: '.filesize($download_file));
      header('Content-Disposition: filename='.$target_file);
      /* flush content */
      flush();
      /* open file */
      $fh = @fopen($download_file, 'r');
      while(!feof($fh)){
       /* send only current part of the file to browser */
       print fread($fh, round($download_rate * 1024));
       /* flush the content to the browser */
       flush();
       /* sleep for 1 sec */
       sleep(1);
      }
      /* close file */
      @fclose($fh);
     }else{
      die('Fatal error: the '.$download_file.' file does not exist!');
     }
    ?>

希望本文所述对大家的php程序设计有所帮助。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例