标签:fp 文件 buffer Header file path php 下载
public function downfile($start=0,$end=0){ $file_name = 'tts19.mp3'; $file_sub_path = $_SERVER['DOCUMENT_ROOT'] . __ROOT__ . '/Public/download/';//文件目录 $file_path = $file_sub_path . $file_name; if (!file_exists($file_path)) { //判断文件是否存在 echo "文件不存在"; exit(); } $fp = fopen($file_path, "r+") or die('打开文件错误'); //下载文件必须要将文件先打开。写入内存 $file_size = filesize($file_path); Header("Content-type:application/octet-stream"); //按照字节格式返回 Header("Accept-Ranges:bytes"); //返回文件大小 Header("Accept-Length:" . $file_size); //弹出客户端对话框,对应的文件名 Header("Content-Disposition:attachment;filename=" . $file_name); //防止服务器瞬间压力增大,分段读取 $buffer = 1024; while (!feof($fp)) {//知道大小的情况下不需要while,$buffer改为文件大小就行,单位为b $file_data = fread($fp, $buffer); echo $file_data; } fclose($fp); }
标签:fp,文件,buffer,Header,file,path,php,下载 来源: https://www.cnblogs.com/MrWangHao/p/14331089.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。