下载不下来
来源:2-11 文件下载函数封装
花式宋人头__普拉斯
2017-11-01 23:28:22
<!DOCTYPE html> <html> <head> <title></title> <meta charset="utf-8"> </head> <body> <!-- <a href="http://localhost/xtt.zip">下载xtt.zip</a> <br> --> <a href="download.php?filename=xtt.zip">下载xtt.zip另一种方法</a> </body> </html>
download.php <?php require_once('downloadfun.php'); $filename=$_GET['filename']; echo $filename; down_file($filename);
downloadfun.php <?php header('content-type:utf-8;charset=utf-8'); function down_file($filename,$allowDown=array('html','zip','rar')){ /*检测文件是否可读或存在*/ if(!is_file($filename)||!is_writable($filename)){ return '文件不存在或不可读'; } $ext=strtolower(pathinfo($filename,PATHINFO_EXTENSION)); /*检测文件是否有下载的资格*/ if(!in_array($filename,$allowDown)){ return "该文件的格式不支持下载"; } /*通过header()发送头消息*/ /*告诉浏览器输出的是字节流,浏览器对字节流默认的方式是下载*/ header('content-type:application/octet-stream'); /*告诉浏览器返回文件大下按照字节计算和文件大小*/ header('Accept-Ranges:bytes;Accept-Length:'.filesize($filename)); /*告诉浏览器以附件的方式下载*/ header('Content-Disposition:attachment;filename="xie.zip"'); readfile($filename); exit; }
2回答
你好,判断是否为支持的压缩类型处代码应改为:
注:判断$ext;
if (in_array($ext,$allowDown)) { /*通过header()发送头消息*/ /*告诉浏览器输出的是字节流,浏览器对字节流默认的方式是下载*/ header('content-type:application/octet-stream'); /*告诉浏览器返回文件大下按照字节计算和文件大小*/ header('Accept-Ranges:bytes;Accept-Length:' . filesize($filename)); /*告诉浏览器以附件的方式下载*/ header('Content-Disposition:attachment;filename="xie.zip"'); readfile($filename); }else{ return "该文件的格式不支持下载"; } exit;
如果解决您的问题请采纳,祝学习愉快!
花式宋人头__普拉斯
提问者
2017-11-02
我修改了下header的配置就好了
相似问题