如何在ThinkPHP5中实现文件下载功能?
作者:OpenWorld
时间:2023-04-28
来源:正软商城
浏览:9
一、准备工作在开始之前,需要确保已经安装好了ThinkPHP5。如果还没有安装,可以参考官方文档进行安装。二、编写代码创建控制器在项目的控制器目录中创建一个Download控制器,用于实现文件下载的功能。
本文目录
一、准备工作
在开始之前,需要确保已经安装好了ThinkPHP5。如果还没有安装,可以参考官方文档进行安装。
二、编写代码
创建控制器
在项目的控制器目录中创建一个Download控制器,用于实现文件下载的功能。
实现下载功能
在index方法中添加以下代码,用于实现文件下载的功能。
public function index() { $file = './public/your_filename'; //文件路径 if (!file_exists($file)) { return "文件不存在"; }else{ $fp = fopen($file, "r"); $file_size = filesize($file); header("Content-type: application/octet-stream"); header("Accept-Ranges: bytes"); header("Accept-Length:".$file_size); header("Content-Disposition: attachment; filename=your_filename");//要下载的文件名字 $buffer = 1024; $filesize = 0; while (!feof($fp) && ($filesize < $file_size)) { $file_data = fread($fp, $buffer); $filesize += $buffer; echo $file_data; } fclose($fp); } }以上代码中,$file表示要下载的文件路径,需要把“your_filename”替换为实际的文件名。如果文件不存在,就会返回“文件不存在”的提示信息。如果文件存在,则设置对应的HTTP头信息,实现文件下载。
三、访问下载链接
在访问下载链接时,只需要指定Download控制器的index方法即可。
例如,如果项目的域名为“http://example.com”,文件路径为“./public/myfile.zip”,那么访问链接应该为:http://example.com/index.php/index/Download/index。
作者最新文章
PDF图片太多怎么批量压缩?PDF文档如何压缩变小?
2026-10-27 11:48
花4700元买RTX 5070:收到却是一堆20年前的电子垃圾!
2026-10-26 16:25
Aperty人像精修指南:去除面部红晕斑点与调整阴影
2026-10-22 21:53
即梦AI怎么导出到剪映继续剪辑?
2026-10-22 19:49
PDF转TXT小说怎么不乱码?手机PDF转TXT用哪个?
2026-10-17 16:32
下一篇:
MySQL表的创建和约束实例分析
热门文章
更多
精品专题
更多
Mac软件
更多
火山引擎 网页版
Windows/ macOS/ Linux
火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。
















