织梦DedeCMS上传PNG图片格式判断的一个BUG

2017-03-27 20:02:42 dedecms

作一个特殊的效果,要给图片加上一个比自己还宽的水印,就是要给图片下方蒙上一块黑的,然后加点文字 ,没有办法客户的需求始终是那么的变态,但是只要他愿意拿钱就OK了,效果如下:

织梦DedeCMS上传PNG图片格式判断的一个BUG


默认情况下织梦是不支持水印比图片还宽的,所以需要自己去修改源码了,其实就是取消dedecms加水印时,对宽度的判断,但是折腾了好久,终于搞出来了,这主要是因为DedeCMS上传PNG图片为水印时,有一个严重的BUG。对上传的图片PNG图片格式判断有一些问题。

在/dede/sys_info_mark.php里面,对上传的图片格式进行判断的时候,PNG格式应该为'image/png' ,但是DedeCMS误以为是‘image/xpng’了。这样的后果就是本来上传的PNG格式的图片,传上去就变成GIF了。这就造成水印加不上去了。