解决php 上传图片造成内存溢出(Allowed memory size)

    图片上传,是网站开发常见的需求。通常来讲就是用户上传图片啊,完事后台进行处理。比如什么压缩啊,剪裁啊,生成缩略图啊什么的。在这个过程中我们有时候会遇到一个很奇怪的错误,那就是Allowed memory size。。。等等一串。

    好吧,大家都知道,这是内存溢出了。完事我们修改配置文件中的相关参数来解决,成效很明显,大部分情况下我们完事了,成功了。但是不知道大家注意没,它默认的上传限制不算太小,就按着64M来说吧。我们有时候上传个三四M的图片就会造成内存溢出。这是为什呢???

    拿php的gd库来说吧,它处理图片的时候会用到一个函数,imagecreatetruecolor()。网上搜索下,知道了它是用来创建高清和透明图片的。所以嘞,基本上可以确定造成内存溢出的原因了,那就是图片的分辨率太高了。

    咱们来看个公式:(图片分辨率,图片对象的width和height )X(图片的通道数,一般是3)X 1.7。

    把一张分辨率高的图片信息代入公式大家就会有所发现了,我们就会知道,占用内存的大小不是取决于图片的体积大小,而是分辨率。

    好啦,本次记录就到这里了。如果感觉不错的话,请多多点赞支持哦。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

luyaran

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值