如何用Laravel创建Zip文件并实现下载
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要讲解了"如何用Laravel创建Zip文件并实现下载",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"如何用Laravel创建Zip文件并实现
千家信息网最后更新 2026年11月02日如何用Laravel创建Zip文件并实现下载
这篇文章主要讲解了"如何用Laravel创建Zip文件并实现下载",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"如何用Laravel创建Zip文件并实现下载"吧!
Laravel 中创建 Zip 压缩文件并提供下载
如果您需要您的用户支持多文件下载的话,最好的办法是创建一个压缩包并提供下载。看下在 Laravel 中的实现。
事实上,这不是关于 Laravel 的,而是和 PHP 的关联更多,我们准备使用从 PHP 5.2 以来就存在的 ZipArchive 类 ,如果要使用,需要确保php.ini 中的 ext-zip 扩展开启。
任务 1: 存储用户的发票文件到 storage/invoices/aaa001.pdf
下面是代码展示:
$zip_file = 'invoices.zip'; // 要下载的压缩包的名称// 初始化 PHP 类$zip = new \ZipArchive();$zip->open($zip_file, \ZipArchive::CREATE | \ZipArchive::OVERWRITE);$invoice_file = 'invoices/aaa001.pdf';// 添加文件:第二个参数是待压缩文件在压缩包中的路径// 所以,它将在 ZIP 中创建另一个名为 "storage/" 的路径,并把文件放入目录。$zip->addFile(storage_path($invoice_file), $invoice_file);$zip->close();// 我们将会在文件下载后立刻把文件返回原样return response()->download($zip_file);
例子很简单,对吗?
任务 2: 压缩 全部 文件到 storage/invoices 目录中
Laravel 方面不需要有任何改变,我们只需要添加一些简单的 PHP 代码来迭代这些文件。
$zip_file = 'invoices.zip';$zip = new \ZipArchive();$zip->open($zip_file, \ZipArchive::CREATE | \ZipArchive::OVERWRITE);$path = storage_path('invoices');$files = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($path));foreach ($files as $name => $file){ // 我们要跳过所有子目录 if (!$file->isDir()) { $filePath = $file->getRealPath(); // 用 substr/strlen 获取文件扩展名 $relativePath = 'invoices/' . substr($filePath, strlen($path) + 1); $zip->addFile($filePath, $relativePath); }}$zip->close();return response()->download($zip_file);到这里基本就算完成了。你看,你不需要任何 Laravel 的扩展包来实现这个压缩方式。
感谢各位的阅读,以上就是"如何用Laravel创建Zip文件并实现下载"的内容了,经过本文的学习后,相信大家对如何用Laravel创建Zip文件并实现下载这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
文件
学习
代码
任务
内容
文件下载
更多
用户
目录
路径
中创
这不
事实
事实上
例子
办法
原样
参数
发票
名称
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
咖啡豆
中国互联网科技工作委员会毛军
朗新科技与工业互联网
港股互联网科技股
互联网科技金融
互联网科技公司怎么样
宜安科技 互联网金融
智慧科技互联网
奔汉互联网科技
互联网 新科技
金融科技与互联网金融相同和不同
洛阳昕诺飞互联网科技有限公司
燊美集互联网科技有限公司
35岁以上互联网科技行业
长沙渺峰互联网科技有限公司
易租星互联网科技有限公司
美国五大互联网科技公司市值多少
互联网科技品牌
互联网科技大佬云集
科技美学互联网 艺术
有格互联网科技
互联网科技工作委员会副主任毛军
互联网科技股票
互联网科技博客
青岛中康互联网医疗科技有限公司
互联网科技扶贫时间
九思连强互联网电子科技有限公司
上海乐五互联网科技有限公司
陕西九四连强互联网科技有限公司
知域互联网科技有限公司官网