php实现下载限制速度示例分享


Posted in PHP onFebruary 13, 2014
// local file that should be send to the client
$local_file = 'test-file.zip';
// filename that the user gets as default
$download_file = 'your-download-name.zip';
// set the download rate limit (=> 20,5 kb/s)
$download_rate = 20.5;
if(file_exists($local_file) && is_file($local_file)) {
 // send headers
 header('Cache-control: private');
 header('Content-Type: application/octet-stream');
 header('Content-Length: '.filesize($local_file));
 header('Content-Disposition: filename='.$download_file);
 // flush content
 flush();
 // open file stream
 $file = fopen($local_file, "r");
 while (!feof($file)) {
 // send the current file part to the browser
 print fread($file, round($download_rate * 1024));
 // flush the content to the browser
 flush();
 // sleep one second
 sleep(1);
 }
 // close file stream
 fclose($file);
}
else {
 die('Error: The file '.$local_file.' does not exist!');
}
PHP 相关文章推荐
PHP扩展编写点滴 技巧收集
Mar 09 PHP
PHP基础之运算符的使用方法
Apr 28 PHP
使用PHP遍历文件目录与清除目录中文件的实现详解
Jun 24 PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
Oct 21 PHP
PHP中使用虚代理实现延迟加载技术
Nov 05 PHP
php中的动态调用实例分析
Jan 07 PHP
php动态添加url查询参数的方法
Apr 14 PHP
PHP中的traits简单使用实例
May 13 PHP
PHP中生成UUID自定义函数分享
Jun 10 PHP
php设计模式之委托模式
Feb 13 PHP
PHP实现Unicode编码相互转换的方法示例
Nov 17 PHP
PHP小白必须要知道的php基础知识(超实用)
Oct 10 PHP
php解压文件代码实现php在线解压
Feb 13 #PHP
显示youtube视频缩略图和Vimeo视频缩略图代码分享
Feb 13 #PHP
codeigniter教程之上传视频并使用ffmpeg转flv示例
Feb 13 #PHP
使用swoole扩展php websocket示例
Feb 13 #PHP
php实现图片添加水印功能
Feb 13 #PHP
php教程之phpize使用方法
Feb 12 #PHP
php教程之魔术方法的使用示例(php魔术函数)
Feb 12 #PHP
You might like
PHP下打开phpMyAdmin出现403错误的问题解决方法
2013/05/23 PHP
thinkPHP查询方式小结
2016/01/09 PHP
PHP将MySQL的查询结果转换为数组并用where拼接的示例
2016/05/13 PHP
浅谈PHP的反射机制
2016/12/15 PHP
Thinkphp5框架中引入Markdown编辑器操作示例
2020/06/03 PHP
[原创]站长必须要知道的javascript广告代码
2007/05/30 Javascript
jquery js 获取时间差、时间格式具体代码
2013/06/05 Javascript
异步动态加载JS并运行(示例代码)
2013/12/13 Javascript
JS来动态的修改url实现对url的增删查改
2014/09/05 Javascript
JavaScript生成带有缩进的表格代码
2016/06/15 Javascript
用js实现简单算法的实例代码
2016/09/24 Javascript
详解Angular 自定义结构指令
2017/06/21 Javascript
实例讲解DataTables固定表格宽度(设置横向滚动条)
2017/07/11 Javascript
使用Vue开发自己的Chrome扩展程序过程详解
2019/06/21 Javascript
Vue 技巧之控制父类的 slot
2020/02/24 Javascript
[10:24]郎朗助力完美“圣”典,天籁交织奏响序曲
2016/12/18 DOTA
有关wxpython pyqt内存占用问题分析
2014/06/09 Python
python中xrange用法分析
2015/04/15 Python
约瑟夫问题的Python和C++求解方法
2015/08/20 Python
python中将一个全部为int的list 转化为str的list方法
2018/04/09 Python
Python字符串逆序输出的实例讲解
2019/02/16 Python
用Cython加速Python到“起飞”(推荐)
2019/08/01 Python
Ranorex通过Python将报告发送到邮箱的方法
2020/01/12 Python
JD Sports法国:英国篮球和运动时尚的领导者
2017/09/28 全球购物
文明教师事迹材料
2014/01/16 职场文书
优秀团员事迹材料1500字
2014/08/31 职场文书
大学生交通专业求职信
2014/09/01 职场文书
医药公司采购员岗位职责
2014/09/12 职场文书
教师党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
2015年党员创先争优承诺书
2015/01/22 职场文书
浅谈redis五大数据结构和使用场景
2021/04/12 Redis
如何制作自己的原生JavaScript路由
2021/05/05 Javascript
Pandas 稀疏数据结构的实现
2021/07/25 Python
分享python函数常见关键字
2022/04/26 Python
Golang 并发编程 SingleFlight模式
2022/04/26 Golang
Linux中一对多配置日志服务器的详细步骤
2022/07/23 Servers