現在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(emptyempty($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>';
- }
新聞熱點
疑難解答