织梦图集 上传图片小于设定尺寸 缩略图生成失败的解决办法_DedeCms教程
教程Tag:暂无Tag,欢迎添加,赚取U币!
织梦图集中,上传的图片像素宽高小于系统设置定的这个尺寸:
较小的这些图片就会无法生成缩略图,导致图集在网页上缩略图显示X叉号,这应该是织梦DEDEcms的一个历史遗漏bug,可用下面方法修复。
/include/helpers/,这个文件中搜索,下面的代码:
- if($srcW<=$toW && $srcH<=$toH ) return TRUE;
- $toWH=$toW/$toH;
- $srcWH=$srcW/$srcH;
- if($toWH<=$srcWH)
- {
- $ftoW=$toW;
- $ftoH=$ftoW*($srcH/$srcW);
- }
- else
- {
- $ftoH=$toH;
- $ftoW=$ftoH*($srcW/$srcH);
- }
然后用下面的大片代码替换:
- $ftoW=$toH;
- [size=; font-size: inherit,inherit] $ftoH=$toH;
- ///
- [size=; font-size: inherit,inherit] if( $srcH<=$toH && $srcW<=$toW )
- [size=; font-size: inherit,inherit] {
- [size=; font-size: inherit,inherit] $ftoW=$srcW;
- [size=; font-size: inherit,inherit] $ftoH=$srcH;
- [size=; font-size: inherit,inherit] if(function_exists("imagecreatetruecolor"))
- [size=; font-size: inherit,inherit] {
- [size=; font-size: inherit,inherit] @$ni = imagecreatetruecolor($ftoW,$ftoH);
- [size=; font-size: inherit,inherit] if($ni)
- [size=; font-size: inherit,inherit] {
- [size=; font-size: inherit,inherit] imagecopyresampled($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);
- [size=; font-size: inherit,inherit] }
- [size=; font-size: inherit,inherit] else
- [size=; font-size: inherit,inherit] {
- [size=; font-size: inherit,inherit] $ni=imagecreate($ftoW,$ftoH);
- [size=; font-size: inherit,inherit] imagecopyresized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);
- [size=; font-size: inherit,inherit] }
- [size=; font-size: inherit,inherit] }
- [size=; font-size: inherit,inherit] else
- [size=; font-size: inherit,inherit] {
- [size=; font-size: inherit,inherit] $ni=imagecreate($ftoW,$ftoH);
- [size=; font-size: inherit,inherit] imagecopyresized($ni,$im,0,0,0,0,$ftoW,$ftoH,$srcW,$srcH);
- [size=; font-size: inherit,inherit] }
- [size=; font-size: inherit,inherit] switch ($srcInfo[2])
- [size=; font-size: inherit,inherit] {
- [size=; font-size: inherit,inherit] case 1:
- [size=; font-size: inherit,inherit] imagegif($ni,$toFile);
- [size=; font-size: inherit,inherit] break;
- [size=; font-size: inherit,inherit] case 2:
- [size=; font-size: inherit,inherit] imagejpeg($ni,$toFile,100);
- [size=; font-size: inherit,inherit] break;
- [size=; font-size: inherit,inherit] case 3:
- [size=; font-size: inherit,inherit] imagepng($ni,$toFile);
- [size=; font-size: inherit,inherit] break;
- [size=; font-size: inherit,inherit] case 6:
- [size=; font-size: inherit,inherit] imagebmp($ni,$toFile);
- [size=; font-size: inherit,inherit] break;
- [size=; font-size: inherit,inherit] default:
- [size=; font-size: inherit,inherit] return false;
- [size=; font-size: inherit,inherit] }
- [size=; font-size: inherit,inherit] imagedestroy($ni);
- [size=; font-size: inherit,inherit] } ///
- $toWH=$toW/$toH;
- $srcWH=$srcW/$srcH;
- if($toWH<=$srcWH)
- {
- $ftoW=$toW;
- $ftoH=$ftoW*($srcH/$srcW);
- }
- else
- {
- $ftoH=$toH;
- $ftoW=$ftoH*($srcW/$srcH);
- }
这样织梦上传的图,就不会显示x号了。希望可以帮助到你。
相关DedeCms教程:
- 织梦cms系统TAG标签和分页伪静态设置教程
- dedecms在首页调用会员信息(会员头像和名字等)
- dede搜索结果页支持article、sql、channelartlist 等标签
- 织梦cms批量取消审核文档的实现方法
- 织梦dedecms在模板页面中实现会员登录退出状态显示
- 织梦dedecms使用Mysql8.0无法登录后台的解决办法
- 织梦上传本地视频后 文件管理器中不显示解决办法
- DEDECMS织梦内容页调用seotitle标题的写法
- 将织梦DEDECMS的验证码改为数字
- 两种可以实现DEDECMS栏目统计功能的方法
- 教你实现DEDECMS织梦自动锚文本
- DEDECMS专题不能选取一级栏目的解决方案