php解决大文件rar、zip无法下载的方法
更新:2023-04-13 08:48:29
人气:1862
来源:本站原创
A+
之前一直在下载文件时使用PHP的readfile($url)方法,小的压缩包都能很顺利的下载,但是今天使用PHP ZipArchive生成的压缩包时遇到个130多M以上的就报页面无法打开,如果把压缩文件中的文件删除一部分使其变小为30M左右,下载就没问题了。
所以想了很多办法最后考虑可能是与之前在公共文件设置的memory_limit有关系。之前内存限制设置的是128M,内存限制改为1024M后问题解决。
网上也查询了memory_limit是设置内存限制的,如果使用readfile()读取文件就会和这个有关,设置太小会造成读取文件失败,直接增加上以下这行代码就可以解决问题。
ini_set('memory_limit','1024M');
以上这行代码,只适用于当前文件可用,也可以在php.ini中设置,这样全局有效,记得改后要重启服务。不过我还是建议在特定的页面增加内存限制,毕竟不是所有的页面运行都需要这么大的内存,适合最重要。
推荐的文章
随手记
- ● 统信UOS系统如何设置指定时间自动重启系统的方法
- ● 自制(IP或域名)可信任的SSL证书,适用360、chrome等浏览器
- ● windows系统下php无法使用curl怎么办?
- ● 绿联UGREENKVM切换器(分屏器)快捷键丢失解决办法
- ● 统信UOS开机指定网址全屏启动自带浏览器以及屏蔽ALT+F4关闭
- ● xshellSSH连接Linux服务器防止超时退出
- ● php8开启OpenSSL扩展库报错disabledinstallext
- ● 统信系统linux安装php时的报错libxml-2.0>=2.7.6
- ● tidb关闭sql_mode=ONLY_FULL_GROUP_BY模式
- ● windows10如何开机自动运行bat文件
PHP经验分享
- ● PHP批量对TCP服务端指定多个IP非阻塞检查在线状态
- ● python实现TCP服务端持续接收关机、重启指令并输出结果【系列三】
- ● PHP给TCP服务端发送指令【系列二】
- ● PHP判断TCP服务端是否在线【系列一】
- ● PHP判断远程文件是否存在
- ● LINUX下用PHP获取CPU型号、内存占用、硬盘占用等信息代码
- ● PHP代码用UDP方式远程唤醒电脑让计算机开机
- ● apache下php生成验证码图片不能显示
- ● PHP使用AES加密解密示例(无偏移)
- ● Pluginmysql_native_passwordreported:''mysql_native_password'isdeprecate问题








