老师我下载2.zip不了
html文件
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>下载</title>
</head>
<body>
<a href="http://file.mukewang.com/class/assist/357/2155154/%E6%96%87%E4%BB%B6%E6%93%8D%E4%BD%9C %E8%AF%BE%E5%A0%82%E6%BA%90%E7%A0%81.zip">下载1.zip</a>
<br>
<a href="./download.php?filename=2.zip">下载1.zip</a>
</body>
</html>
download.php文件
<?php
require_once 'file.func.php';
$filename=$_GET['filename'];
down_file($filename);
file.func.php文件
function down_file(string $filename,array $allowDownExt=array(['jpg','jpeg','png','txt','rar','zip','html'])){
// 检测下载文件是否存在,并且可读
if (!is_file($filename)||!is_readable($filename)){
return false;
}
// 检测文件类型是否允许下载
$ext=strtolower(pathinfo($filename,PATHINFO_EXTENSION));
if(!in_array($ext,$allowDownExt)){
return false;
}
// 通过header()发送头信息
// 告诉浏览器输出的字节流
header('Content-Type:application/octet-stream');
// 告诉浏览器返回的文件大小是按照字节进行计算的
header('Accept-Ranges: bytes');
// 告诉浏览器返回的大小
header("Accept-Length: ".filesize($filename));
// 告诉浏览器文件作为附件处理,告诉浏览器最终下载完的文件名称
header('Content-Disposition: attachment;filename=king_'.basename($filename));
// 读取文件中的内容
readfile($filename);
exit;
}
都在同级目录下,2.zip下载不了不知道是什么原因
正在回答
同学你好,1. 同学需要开启phpstudy。
2. 建议同学查看引入file.func.php文件是否正确。
3. 建议同学在课程源码中进行测试,查看是否存在此现象。
祝学习愉快!
补充下,谷歌浏览器,phpstorm,用老师的源码套上去zip文件也不能下载,但是会显示No input file specified., 用自己的代码什么都不显示
- 参与学习 人
- 提交作业 626 份
- 解答问题 4928 个
想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星