下载不下来
来源: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的配置就好了
相似问题