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


Posted in PHP onMarch 24, 2015

本文实例讲述了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 相关文章推荐
多数据表共用一个页的新闻发布
Oct 09 PHP
php 小乘法表实现代码
Jul 16 PHP
提高define性能的php扩展hidef的安装和使用
Jun 14 PHP
PHP字符串的编码问题的详细介绍
Apr 27 PHP
深入apache host的配置详解
Jun 09 PHP
ThinkPHP令牌验证实例
Jun 18 PHP
php从csv文件读取数据并输出到网页的方法
Mar 14 PHP
浅谈php错误提示及查错方法
Jul 14 PHP
使用PHP接受文件并获得其后缀名的方法
Aug 05 PHP
PHP中模拟链表和链表的基本操作示例
Feb 27 PHP
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
May 20 PHP
PHP全局使用Laravel辅助函数dd
Dec 26 PHP
使用 PHPStorm 开发 Laravel
Mar 24 #PHP
php实现的通用图片处理类
Mar 24 #PHP
PHP计算指定日期所在周的开始和结束日期的方法
Mar 24 #PHP
PHP实现CSV文件的导入和导出类
Mar 24 #PHP
php自定义urlencode,urldecode函数实例
Mar 24 #PHP
PHP数组相关函数汇总
Mar 24 #PHP
PHP递归遍历指定目录的文件并统计文件数量的方法
Mar 24 #PHP
You might like
十天学会php之第一天
2006/10/09 PHP
分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件
2015/08/23 PHP
Yii实现显示静态页的方法
2016/04/25 PHP
PHP文件类型检查及fileinfo模块安装使用详解
2019/05/09 PHP
会自动逐行上升的文本框
2006/06/30 Javascript
js函数般调用正则
2008/04/08 Javascript
Javascript 倒计时源代码.(时.分.秒) 详细注释版
2011/05/09 Javascript
window.event.keyCode兼容IE和Firefox实现js代码
2013/05/30 Javascript
jquery插件开发之实现jquery手风琴功能分享
2014/03/10 Javascript
js精美的幻灯片画集特效代码分享
2015/08/29 Javascript
用NODE.JS中的流编写工具是要注意的事项
2016/03/01 Javascript
JavaScript基于DOM操作实现简单的数学运算功能示例
2017/01/16 Javascript
工厂模式在JS中的实践
2017/01/18 Javascript
JavaScript日期对象(Date)基本用法示例
2017/01/18 Javascript
jquery+css实现简单的图片轮播效果
2017/08/07 jQuery
JavaScript 完成注册页面表单校验的实例
2017/08/19 Javascript
JavaScript读写二进制数据的方法详解
2018/09/09 Javascript
[04:50]2019DOTA2高校联赛秋季赛四强集锦
2019/12/27 DOTA
简单的Python抓taobao图片爬虫
2014/10/26 Python
python实现手机销售管理系统
2019/03/19 Python
Django自带的加密算法及加密模块详解
2019/12/03 Python
基于Keras中Conv1D和Conv2D的区别说明
2020/06/19 Python
使用Python项目生成所有依赖包的清单方式
2020/07/13 Python
PyCharm配置anaconda环境的步骤详解
2020/07/31 Python
基于Pytorch版yolov5的滑块验证码破解思路详解
2021/02/25 Python
css3实现简单的白云飘动背景特效
2020/10/28 HTML / CSS
Etam俄罗斯:法国女士内衣和家居服网上商店
2019/10/30 全球购物
委托与事件是什么关系?为什么要使用委托
2014/04/18 面试题
大学生个人自我鉴定
2013/12/03 职场文书
党的群众路线教育实践活动心得体会
2014/03/03 职场文书
保护环境倡议书100字
2014/05/19 职场文书
2014普法依法治理工作总结
2014/12/18 职场文书
财务部岗位职责范本
2015/04/14 职场文书
消防隐患整改通知书
2015/04/22 职场文书
描写九月优美句子(39条)
2019/09/11 职场文书
redis配置文件中常用配置详解
2021/04/14 Redis