discuz图片处理缩略图显示的方法介绍

来自:互联网
时间:2020-12-30
阅读:
function thumblist($pid, $width = 0, $height = 0, $maximgcount = 3, $tid = 0){
    global $_G;
    if(!$pid) return array();
    $width = intval($width);
    $height = intval($height);
    $maximgcount = intval($maximgcount);
    $tid = intval($tid);
    $maximgcount = $maximgcount <= 0 ? 3 : $maximgcount;
    $maximgcount = min($maximgcount, 3);
    $width = $width <= 0 ? 200 : $width;
    $height = $height <= 0 ? 100 : $height;
 
    if(!$tid) {
        $tid = C::t('forum_post')->fetch_tid_by_pid($pid);
    }
 
    if(!$tid) return array();
    $attachments = C::t('forum_attachment_n')->fetch_all_by_id('tid:'.$tid, 'pid', $pid, 'AId', true, false, false, $maximgcount);
    $list = array();
    $count = 0;
    $nums = count($attachments);
    if($nums ==1){
        $width = 692;
        $height =708;
    } elseif ($nums == 2) {
        $width = 660;
        $height = 700;
    } else if($nums ===3){
        $width = 440;
        $height = 532;
    }
    foreach($attachments as $aid=>$attachment) {
        $bigimage = $_G['setting']['attachurl'].'forum/'.$attachment['attachment'];
        $thumbfile = 'image/'.helper_attach::makethumbpath($attachment['aid'], $width, $height);
        if(is_file($_G['setting']['attachdir'].$thumbfile)) {
            $thumbfile = $_G['setting']['attachurl'].$thumbfile;
        } else {
            $thumbfile = '/'.getforumimg($attachment['aid'], 0, $width, $height,'fixwr');
        }
        if($attachment['width'] < $width) $thumbfile = $bigimage;
        $list[] = array('thumb'=>$thumbfile, 'attachment'=>$bigimage, 'aid'=>$attachment['aid']);
        $count++;
        if($count >= $maximgcount) break;
    }
 
    return $list;
}

discuz图片处理缩略图显示

返回顶部
顶部