首页 > Web开发 > 详细

PHP 大文件下载(方式1 不支持断点续传)

时间:2018-01-29 21:20:37      阅读:236      评论:0      收藏:0      [点我收藏+]
public function download(){ $id = input(‘id‘); $item = Db::name(‘imgsubmit‘)->where([‘id‘=>$id])->find(); Db::name(‘imgsubmit‘)->where([‘id‘=>$id])->update([‘status‘=>1]); $tt = ltrim($item[‘zip‘],‘uploads/‘); $path = config(‘upload_path‘).DS.$tt; $arr = explode(‘/‘,$path); $iname=$item[‘username‘].‘_‘.$item[‘order_no‘]; /*$filename = $arr[count($arr)-1];*/ $filename=$iname.‘.zip‘; //$file = fopen($path, "rb"); if (file_exists($path)) { $filesize=filesize($path); header(‘Content-Description:File Transfer‘); header("Content-Type:application/octet-stream"); header(‘Content-Transfer-Encoding:binary‘); header("Accept-Ranges: bytes"); header(‘Expires:0‘); header(‘Cache-Control:must-revalidate‘); header(‘Pragma:public‘); header("Content-Length:".$filesize); header("Content-Disposition:attachment;filename=".$filename); //以下内容是引用网友的代码,由于原来的出处找不到了,在此表示万分感谢和抱歉。 //打开文件 $fp = fopen($path, "rb"); //设置指针位置 ob_start(); fseek($fp,0); //虚幻输出 while (!feof($fp)) { //设置文件最长执行时间 set_time_limit(0); print (fread($fp, 1024 * 8)); //输出文件 flush(); //输出缓冲 ob_flush(); } fclose($fp); exit ();}else{echo "文件不存在!!!";die();} }

PHP 大文件下载(方式1 不支持断点续传)

原文:http://blog.51cto.com/13562606/2066555

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!