DZ论坛很早就提供上传图片添加水印的功能,DZX平台是上传即生成缩略图。但是在上传大图片时,有时提交以后缩略图显示红叉,帖子提交后直接空白或提示错误。于是再打开帖子发现图片没传上,编辑时又一直提示上次有您未使用的图片,删也删不去,点也用不了。 稍作研究,到服务器端查看了一下上传文件夹,这立刻让人觉得是论坛程序出了问题,就是图片本身未传上去,但数据库显示传上了,造成一直提示未使用,但又用不了。 OK,开始跨平台测试,发现有的空间可以,有的不行。在不行的空间,无论上传图片的大小(多少KB/MB),只要图片宽和高的尺寸超过1000pix(像素)左右,就会出现以上问题。既然和图片大小没关系,像素小的图片也能成功,便排除了上传文件夹权限,以及上传大小的问题。 翻出DZ的代码开始查看问题到底出在哪里。最后基本上弄明白了,DZ默认使用的是PHP中gd2的图片处理技术,理论上gd2处理图片尺寸是无上限的,但为什么会出现我上面说的情况呢,我查阅资料得到如下信息,gd2在处理图片的时候服务器端和客户端都必须有足够的内存,特别是服务器端,同时在php.ini配置文件里需要给予可用内存上限的赋值,参数如下: Resource Limits ;资源上限项目 memory_limit = 8M ;许多默认上限都是8MB/16MB 假若出现我上述的情况,大家可以试着将服务器端memory_limit的值修改大一些,例如128MB,视服务器物理内存的大小来增加。(我这边设置的是16MB,改为128MB后测试就都正常了)。修改后重新启动IIS或APACHE就可以让修改后的参数生效了。 如果购买的是虚拟空间,就要麻烦一点,联系服务器管理人员,调一下此项全局设置。 OK,出现此问题的朋友可以就此解决了,ENDING~!
DZ及DZX图片上传尺寸BUG
最新推荐文章于 2021-08-12 02:04:59 发布