thumbnails 变黑_phpcms v9图片生成缩略图变成黑色解决方法
今天客户反映,上传的图片生成缩略图有的图片变成黑色,
出现问题就百度了一下,有不少网友也遇到这样的问题,但是官方论坛也没有给出解决办法,那还得靠自己解决了,于是就研究phpcms v9 图片压缩代码。
打开\phpcms\libs\classes\image.class.php,看了半天也没有看出哪里的错误。
网上有很多关于php png图片压缩变成黑色的问题,我刚开始也以为是这样问题,但是v9的源码里做了这样问题的处理,所以排除这个原因。
突然想到了错误日志,打开\caches\error_log.php 错误日志,发现问题了。
09-05 12:03:43 | 2 | imagecreatefrompng(): '/alidata/www/uploadfile/2016/0719/thumb_506_351_20160704061846270.png' is not a valid PNG file | phpcms/libs/classes/image.class.php | 102
一眼看到这样错误,我就知道什么错误,原因是这张图片后缀是png图片,但实质不是png图片,应该是其他类型图片人为修改为png图片,为了验证这一点,我写了一段代码验证一下,代码如下:
$url="http://www.xxxx.com/uploadfile/2016/0719/thumb_506_351_20160704061846270.png";print_r(getimagesize($url));print_r("
");print_r(pathinfo($url));
输出结果如下:
Array ( [0] => 506 [1] => 351 [2] => 2 [3] => width="506" height="351" [bits] => 8 [channels] => 3 [mime] => image/jpeg )Array ( [dirname] => http://www.xxxx.com/uploadfile/2016/0719 [basename] => thumb_506_351_20160704061846270.png [extension] => png [filename] => thumb_506_351_20160704061846270 )
大家看到了 mime 和 extension了没有??
再来看一下v9的源码
v9里使用pathinfo来获取图片的后缀,这样导致很多图片是人为修改的后缀图片,在使用imagecreatefrom 函数 (imagecreatefromgif,imagecreatefromjpeg,imagecreatefrompng)创建画布的时候选错函数。
解决方法:
注销掉80行:$type = $pathinfo['extension']; 就ok了。
$info['type'] 上面函数已经获取到了图片mime扩展类型。
thumbnails 变黑_phpcms v9图片生成缩略图变成黑色解决方法相关推荐
- win7系统不显示图片的缩略图的终极解决方法
win7系统不显示图片的缩略图的终极解决方法 参考文章: (1)win7系统不显示图片的缩略图的终极解决方法 (2)https://www.cnblogs.com/senior-engineer/p/ ...
- html页面整体偏移了怎么办,html2canvas生成的图片偏移不完整的解决方法
情景一: 问题背景:生成的图片在一个弹窗里面,如果页面没有滚动条就是正常的,但是一旦出现滚动条并且页面发生滚动时html2canvas绘制成的图片就会偏移出对应滚动高度的白边,如下: 解决办法: 楼主 ...
- 图片放大不模糊的解决方法
图片放大不模糊的解决方法!小编作为一名互联网运营人员,每天要使用很多的图片素材,也要处理很多的图片素材,比如转换图片格式,修改图片尺寸大小等.将图片尺寸放大虽然是一个比较简单的操作,却有一个难以解决的 ...
- keil无法生成axf文件之解决方法
keil无法生成axf文件之解决方法 参考文章: (1)keil无法生成axf文件之解决方法 (2)https://www.cnblogs.com/CodeWorkerLiMing/p/1200741 ...
- Maven CXF wsdl2Java ListXxx生成ArrayOfXxx包装对象 解决方法
Maven CXF wsdl2Java List<Xxx>生成ArrayOfXxx包装对象 解决方法 添加-xjc-Xxew解决,同时还要给插件添加相应的jar包,如下: <plug ...
- Unity 生成APK 出错的解决方法
Unity 生成APK 出错的解决方法 参考文章: (1)Unity 生成APK 出错的解决方法 (2)https://www.cnblogs.com/laomanong/p/5783599.html ...
- 微信分享网页链接缩略图不显示解决方法
微信分享网页链接缩略图不显示解决方法 参考文章: (1)微信分享网页链接缩略图不显示解决方法 (2)https://www.cnblogs.com/68xi/p/11596254.html 备忘一下.
- html图片在wps中不显示文字大小,WPS文字插入图片显示不全怎么办 WPS文字插入图片显示不完整的解决方法...
在wps文字编辑文档时,如果我们在使用时插入图片显示不全,这种情况我们该怎么解决呢?想必有不少的用户遇到过这种问题,下面教程之家网为大家带来WPS文字插入图片显示不完整的解决方法,不知道怎么解决的朋友 ...
- iOS-Xcode Archive 不生成dsym文件的解决方法
发布程序后,我们会通过crash log进行错误分析,我们需要用到dsym文件. Xcode Archive 不生成dsym文件的解决方法如下: 选择Project -> Target -> ...
最新文章
- 2022-2028年中国钢桶行业市场研究及前瞻分析报告
- 悉尼科技大学入选 CVPR 2021 的 9 篇论文,都研究什么?
- 我成功攻击了Tomcat服务器,大佬们的反应亮了
- DD_belatedPNG
- eureka需要替换吗_nacos无缝替换eureka
- 快速入门系列之 Rust 语言 GitChat连接
- 22--删除字符串中的所有相邻重复项
- 无法从ftp服务器上复制文件格式,ftp服务器上复制不了文件格式
- 测试人员的系统性思维
- pythongui日历控件_python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例...
- 如何关闭访达窗口_UG NX软件基础操作,如何自定义软件快捷键
- Web服务http日志收集
- 数据库设计(1)_概念结构设计
- JSP的 页面访问执行流程
- [Photography] 新摄影笔记
- [附源码]java毕业设计新能源汽车租赁管理系统
- mapBox添加本地图片
- ajax无线遥控器,利用python+tkinter做一个简单的智能电视遥控器
- C++读取音频文件mp3、flac的曲名、歌手、专辑等ID3v2标签(使用libzplay)
- D3D11 骨骼动画(基于MD5格式)