Discuz 会员头像调用方法之di…

本文介绍了如何在Discuz中调用会员头像,重点解析了discuz_uc_avatar函数及其参数,包括$returnsrc参数的作用。同时,提供了引用UC_API常量的方法和示例代码,展示了如何在循环中调用会员头像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现在Discuz越来越走向开放化,只要会网站技术都可以对DZ的程序进行修改,还可以开发插件和模板等。UCenter用户中心是很重要的,它是很多应用的中心。其中会员头像就是通过UC调用的。大家可以发现头像图片的路径会因好多情况不同,可是怎么调用会员的头像呢?

下面这个函数就是为了调用会员头像设计的:
function discuz_uc_avatar($uid, $size = '', $returnsrc = TRUE) {
if($uid > 0) {
   $size = in_array($size, array('big', 'middle', 'small')) ? $size : 'middle';
   $uid = abs(intval($uid));
   if(empty($GLOBALS['avatarmethod'])) {
    return $returnsrc ? UC_API.'/avatar.php?uid='.$uid.'&size='.$size : '<img src="'.UC_API.'/avatar.php?uid='.$uid.'&size='.$size.'" />';
   } else {
    $uid = sprintf(" d", $uid);
    $dir1 = substr($uid, 0, 3);
    $dir2 = substr($uid, 3, 2);
    $dir3 = substr($uid, 5, 2);
    $file = UC_API.'/data/avatar/'.$dir1.'/'.$dir2.'/'.$dir3.'/'.substr($uid, -2).'_avatar_'.$size.'.jpg';
    return $returnsrc ? $file : '<img src="'.$file.'" '.UC_API.'/images/noavatar_'.$size.'.gif\'" />';
   }
} else {
   $file = $GLOBALS['boardurl'].IMGDIR.'/syspm.gif';
   return $returnsrc ? $file : '<img src="'.$file.'" />';
}
}

以上代码有二个要注意的地方:
1、$returnsrc 参数 当为TRUE时函数返回头像路径,为FALSE时返回带img标签的路径,看不同的需要,一般为TRUE时通用些
2、UC_API这个是一个常量,需要引用一个配置文件,引用方法如下:
require_once DISCUZ_ROOT.'./config/config_ucenter.php';

部分调用函数的例子:
$tmparr=explode(",",$diymemberlist);
   foreach($tmparr as $key => $tmp){
    $uid = DB::result_first("select uid from ".DB::table('common_member')." where username='".$tmp."'");
    if($uid!="")$tempstr .='<li><a href="http://www.cnit618.com/home.php?mod=space&uid='.$uid.'" target="_blank" title="'.$result['username'].'"><img src="'.discuz_uc_avatar($uid,'small').'"/><br><span>'.$tmp.'</span></a></li>';
   }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值