php 文件限速下载代码
2020-02-03 04:44
826 查看
<?php include("DBDA.class.php"); $db = new DBDA(); $bs = $_SERVER["QUERY_STRING"]; //获取由提交界面传过来的参数 $bss = substr($bs,3); //截取 = 后面的值 $sql = "select video from shangpin where id='{$bss}'"; //获取视频文件路径 $str = $db->StrQuery($sql); $wjm = substr($str,13); //截取文件名 $lj = substr($str,0,13); //截取文件所在文件夹路径 $file_name = $wjm; //文件名 //用以解决中文不能显示出来的问题 $file_name=iconv("utf-8","gb2312",$file_name); $file_sub_path=$_SERVER['DOCUMENT_ROOT'].$lj; //获取当前运行脚本所在的文档根目录 $file_path=$file_sub_path.$file_name; //拼成一个完整的文件所在的路径 // $file = include path if(file_exists($file_path)) //判断文件是否存在 { header('Content-Description: File Transfer'); //header函数是提交给表头的是一些下载的规格 header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename='.basename($file_path)); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header('Content-Length: ' . filesize($file_path)); ob_clean(); //ob_clean这个函数的作用就是用来丢弃输出缓冲区中的内容,如果你的网站有许多生成的文件,那么想要访问正确,就要经常清除缓冲区 flush(); //ob_flush()和flush()的区别。前者是把数据从PHP的缓冲中释放出来,后者是把不在缓冲中的或者说是被释放出来的数据发送到浏览器。所以当缓冲存在的时候,我们必须ob_flush()和flush()同时使用。 $file = fopen($file_path, "r"); //打开指定的文件,r 代表只读,如果找不到,返回false while(!feof($file)) //判断是否存在 { // send the current file part to the browser print fread($file, round(3000 * 1024)); //先顶下载速度为3MB // flush the content to the browser flush(); //传给浏览器 // sleep one second sleep(1); //等待1秒 } fclose($file); //关闭文件 /*readfile($file_path); //也可以用这种方法,发送完表头直接输出,不过没有限速 exit;*/ }
转载于:https://www.cnblogs.com/The-second/p/6104193.html
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- php 文件限速下载代码
- PHP下载文件的函数实例代码
- IE php关于强制下载文件的代码
- PHP下载文件的函数实例代码
- php实现文件下载代码分享
- ajax+php文件上传代码 - php上传下载
- php 下载放在服务器里面的pdf文件代码
- PHP下载CSS文件中图片的代码
- php下连接ftp实现文件的上传、下载、删除文件实例代码
- php多文件打包下载的实例代码
- php header函数下载文件实现代码
- PHP下载文件的两种方法与代码
- php实现文件下载代码
- php 下载文件代码段
- PHP文件下载代码
- PHP用代码实现文件下载
- 使用PHP自带zlib函数 几行代码实现PHP文件打包下载zip
- ajax+php文件上传代码 - php上传下载
- 兼容ie6浏览器的php下载文件代码分享
- php文件重命名下载代码示例