discuz x3.2 提取帖子第一张图片生成缩略图代码
在已获得帖子图片附件aid的情况下可以直接使用
<!--{eval $imagelistkey = getforumimg($thecover[aid], 0, 225, 0); }-->
这个是生成到data/attachment目录。
或者另一种,在只有帖子tid的情况下获得帖子缩略图,单独创建aidpic.php文件放到根目录,在使用时缩略图地址为aidpic.php?aid=帖子tid&宽x高,如<img src="aidpic.php?aid=24575&size=150x100"/>
生成到自动创建data/aidpic。
<!--{eval $imagelistkey = getforumimg($thecover[aid], 0, 225, 0); }-->
这个是生成到data/attachment目录。
或者另一种,在只有帖子tid的情况下获得帖子缩略图,单独创建aidpic.php文件放到根目录,在使用时缩略图地址为aidpic.php?aid=帖子tid&宽x高,如<img src="aidpic.php?aid=24575&size=150x100"/>
生成到自动创建data/aidpic。
<?php require_once './source/class/class_core.php'; $discuz = & discuz_core::instance(); $discuz->init(); list($w,$h)=explode("x",$_G['gp_size']); $m=0; if($w==0&&$h==0){ $m=5; }elseif ($h==0){ $m=3; }elseif ($w==0){ $m=4; } /* $w=100;//宽度 $h=75;//高度 $m=0;//缩略图模式 //mode=0为固定宽高,画质裁切不变形 //mode=1为固定宽高,画质会拉伸变形 //mode=2为可变宽高,宽高不超过指定大小 //mode=3为固定宽度,高度随比例变化 */ $nopic='./static/image/common/nophotosmall.gif';//缺省图片 $aid=intval($_G['gp_aid']); $dir="data/aidpic/"; $subdir=$dir."/{$w}x{$h}x{$m}/"; $thumbfile=$subdir."/".$aid.".jpg"; if(file_exists($thumbfile)){ header("location:{$thumbfile}"); die(); } $tableid=substr($aid,-1,1); $attach=DB::fetch_first("SELECT a.tid,a.attachment,a.remote FROM ".DB::table("forum_attachment_{$tableid}")." a WHERE a.`tid` ='$aid' AND a.`isimage`<>0 order by a.aid asc limit 0,1"); if($attach){ $attachurl=$attach['remote']?$_G['setting']['ftp']['attachurl']:$_G['setting']['attachurl']; $attachfile=$attachurl."/forum/".$attach['attachment']; if(!is_dir($dir)) @mkdir($dir); if(!is_dir($subdir)) @mkdir($subdir); dzthumb($attachfile,$thumbfile,$w,$h,$m); header("location:{$thumbfile}"); die(); }else{ header("location:$nopic"); die(); } function dzthumb($srcfile,$dstfile,$dstw,$dsth=0,$mode=0,$data=''){ $data=$data==''?@GetImageSize($srcfile):$data; if(!$data) return false; if($data[2]==2) $im=@ImageCreateFromJPEG($srcfile); elseif ($data[2]==1) $im=@ImageCreateFromGIF($srcfile); elseif($data[2]==3) $im=@ImageCreateFromPNG($srcfile); list($img_w, $img_h) = $data; if($dsth==0) $mode=3; if($mode==0){ $imgratio = $img_w / $img_h; $thumbratio = $dstw / $dsth; if($imgratio >= 1 && $imgratio >= $thumbratio || $imgratio < 1 && $imgratio > $thumbratio) { $cuty = $img_h; $cutx = $cuty * $thumbratio; } elseif($imgratio >= 1 && $imgratio <= $thumbratio || $imgratio < 1 && $imgratio < $thumbratio) { $cutx = $img_w; $cuty = $cutx / $thumbratio; } $cx = $cutx; $cy = $cuty; }elseif($mode==1){ $cx = $img_w; $cy = $img_h; }elseif ($mode==2){ $cx = $img_w; $cy = $img_h; $bit=$img_w/$img_h; if($dstw/$dsth>$bit){ $dstw=($img_w/$img_h)*$dsth; }else{ $dsth=($img_h/$img_w)*$dstw; } } elseif($mode==3){ $cx = $img_w; $cy = $img_h; $dsth=$dstw * $img_h / $img_w; } elseif ($mode==4){ $cx = $img_w; $cy = $img_h; $dstw=$dsth * $img_w / $img_h; } $ni=imagecreatetruecolor($dstw,$dsth); ImageCopyResampled($ni,$im,0,0,0,0,$dstw,$dsth, $cx, $cy); clearstatcache(); if($data[2]==2) ImageJPEG($ni,$dstfile,100); elseif($data[2]==1) ImageGif($ni,$dstfile); elseif($data[2]==3) ImagePNG($ni,$dstfile); return true; } ?> |
免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。
热门教程
discuz电脑版、手机版去除标题title中的PoweredbyDisc2018-12-27
Discuz 触屏手机版支持视频播放的方法2018-12-27
discuz手机版支持视频播放的修改方法2018-12-27
Discuz! 程序 X3.2、X3.3升级3.4教程2018-12-27
discuz X3以及X3.4论坛搬家完美详细教程2019-01-02
怎么开启手机版2018-12-25
去掉Discuz论坛底部的Powered 等版权信息2018-12-27
discuz! x3.4插件位置DZ论坛X3版本插件在哪个文件夹?2018-12-26
Mysql修改端口号后织梦dedecms的修改方法2018-12-27
Discuz!X3.2论坛实现全站HTTPS终极方法教程2018-12-28