当前位置:首页 > CMS教程 > Discuz > 列表

Discuz 会员头像调用方法之discuz_uc_avatar函数

发布:smiling 来源: PHP粉丝网  添加日期:2014-04-02 16:13:13 浏览: 评论:0 

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

下面这个函数就是为了调用会员头像设计的:

  1. function discuz_uc_avatar($uid$size = ''$returnsrc = TRUE) { 
  2. if($uid > 0) { 
  3.    $size = in_array($sizearray('big''middle''small')) ? $size : 'middle'
  4.    $uid = abs(intval($uid)); 
  5.    if(emptyempty($GLOBALS['avatarmethod'])) { 
  6.     return $returnsrc ? UC_API.'/avatar.php?uid='.$uid.'&size='.$size : '<img src="'.UC_API.'/avatar.php?uid='.$uid.'&size='.$size.'" />'
  7.    } else { 
  8.     $uid = sprintf(" d"$uid); 
  9.     $dir1 = substr($uid, 0, 3); 
  10.     $dir2 = substr($uid, 3, 2); 
  11.     $dir3 = substr($uid, 5, 2); 
  12.     $file = UC_API.'/data/avatar/'.$dir1.'/'.$dir2.'/'.$dir3.'/'.substr($uid, -2).'_avatar_'.$size.'.jpg'
  13.     return $returnsrc ? $file : '<img src="'.$file.'" '.UC_API.'/images/noavatar_'.$size.'.gif\'" />'
  14.    } 
  15. else { 
  16.    $file = $GLOBALS['boardurl'].IMGDIR.'/syspm.gif'
  17.    return $returnsrc ? $file : '<img src="'.$file.'" />'

以上代码有二个要注意的地方:

1、$returnsrc 参数 当为TRUE时函数返回头像路径,为FALSE时返回带img标签的路径,看不同的需要,一般为TRUE时通用些.

2、UC_API这个是一个常量,需要引用一个配置文件,引用方法如下:

require_once DISCUZ_ROOT.'./config/config_ucenter.php';

部分调用函数的例子:

  1. $tmparr=explode(",",$diymemberlist); 
  2.    foreach($tmparr as $key => $tmp){ 
  3.     $uid = DB::result_first("select uid from ".DB::table('common_member')." where username='".$tmp."'"); 
  4.     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>'

Tags: Discuz 函数 头像 方法

分享到: