Discuz 会员头像调用方法之discuz_uc_avatar函数(返回纯路径)
下面这个函数就是为了调用会员头像设计的:
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("%09d", $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.'" οnerrοr="this.οnerrοr=null;this.src=\''.UC_API.'/images/noavatar_'.$size.'.gif\'" />';
}
} else {
$file = $GLOBALS['boardurl'].IMGDIR.'/syspm.gif';
return $returnsrc ? $file : '';
}
}
以上代码有二个要注意的地方:
1、$returnsrc 参数 当为TRUE时函数返回头像路径,为FALSE时返回带img标签的路径,看不同的需要,一般为TRUE时通用些
2、UC_API这个是一个常量,需要引用一个配置文件,引用方法如下:
require_once DISCUZ_ROOT.'./config/config_ucenter.php';
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("%09d", $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.'" οnerrοr="this.οnerrοr=null;this.src=\''.UC_API.'/images/noavatar_'.$size.'.gif\'" />';
}
} else {
$file = $GLOBALS['boardurl'].IMGDIR.'/syspm.gif';
return $returnsrc ? $file : '';
}
}
以上代码有二个要注意的地方:
1、$returnsrc 参数 当为TRUE时函数返回头像路径,为FALSE时返回带img标签的路径,看不同的需要,一般为TRUE时通用些
2、UC_API这个是一个常量,需要引用一个配置文件,引用方法如下:
require_once DISCUZ_ROOT.'./config/config_ucenter.php';