立即注册 找回密码

QQ登录

只需一步,快速开始

查看: 3701|回复: 0

[Discuz 开发教程] discuz X1.5 取得论坛的头像

[复制链接]
发表于 2015-1-15 13:29:05 | 显示全部楼层 |阅读模式
道勤网-数据www.daoqin.net

亲注册登录道勤网-可以查看更多帖子内容哦!(包涵精彩图片、文字详情等)请您及时注册登录-www.daoqin.net

您需要 登录 才可以下载或查看,没有账号?立即注册

x
discuz X1.5 取得论坛的头像的程序分析


  /**
   * 头像方法
   * @param string $uid 用户ID
   * @param string $size 头像显示尺寸
   * @param string $ucenterurl 删除条目数
   * @param boolean $returnsrc 是否删除表缓存
* @param boolean $real 是否删除表缓存
* @param boolean $static 是否删除表缓存
   */


// \source\function\function_core.php    340行  
function avatar($uid, $size = 'middle', $returnsrc = FALSE, $real = FALSE, $static = FALSE, $ucenterurl = '')
{


global $_G;
// \source\class\class_core.php
/*
class discuz_core {


// 134行处
//全局变量 $_G  初始化定义
global $_G;
$_G = array(


//论坛全局定义


//UCHome全局定义


//portal 全局定义


//系统参数
//相对主目录的相对地址及文件名


//基本脚本名,每个功能脚本首页前都会定义


);


}


*/


// function setglobal
($key , $value, $group = null)   \source\function\function_core.php    70行    增加设置全局变量


static $staticavatar;
if($staticavatar === null) {
$staticavatar = $_G['setting']['avatarmethod'];
}
$ucenterurl = empty($ucenterurl) ? $_G['setting']['ucenterurl'] : $ucenterurl;
$size = in_array($size, array('big', 'middle', 'small')) ? $size : 'middle';
$uid = abs(intval($uid));
if(!$staticavatar && !$static)
{
// 设置使用 动态取头像
// http://bbs.eic.org.cn/uc_server/avatar.php?uid=1&size=middle
return $returnsrc ? $ucenterurl.'/avatar.php?uid='.$uid.'&size='.$size : '<img src="'.$ucenterurl.'/avatar.php?uid='.$uid.'&size='.$size.($real ? '&type=real' : '').'" />';
}
else
{
// 设置使用  静态头像地址 通过$uid做一些规则
$uid = sprintf("%09d", $uid); // 格式化为9位的数字
$dir1 = substr($uid, 0, 3);
$dir2 = substr($uid, 3, 2);
$dir3 = substr($uid, 5, 2);
$file = $ucenterurl.'/data/avatar/'.$dir1.'/'.$dir2.'/'.$dir3.'/'.substr($uid, -2).($real ? '_real' : '').'_avatar_'.$size.'.jpg';
// http://bbs.eic.org.cn/uc_server/ ... 1_avatar_middle.jpg
return $returnsrc ? $file : '<img src="'.$file.'" />';
}
}














如何设置 $_G的呢?




// \source\function\function_core.php    70行  
//设置全局变量
function setglobal($key , $value, $group = null) {
global $_G;
$k = explode('/', $group === null ? $key : $group.'/'.$key);
switch (count($k)) {
case 1: $_G[$k[0]] = $value; break;
case 2: $_G[$k[0]][$k[1]] = $value; break;
case 3: $_G[$k[0]][$k[1]][$k[2]] = $value; break;
case 4: $_G[$k[0]][$k[1]][$k[2]][$k[3]] = $value; break;
case 5: $_G[$k[0]][$k[1]][$k[2]][$k[3]][$k[4]] =$value; break;
}
return true;
}


function getglobal($key, $group = null) {
global $_G;
$k = explode('/', $group === null ? $key : $group.'/'.$key);
switch (count($k)) {
case 1: return isset($_G[$k[0]]) ? $_G[$k[0]] : null; break;
case 2: return isset($_G[$k[0]][$k[1]]) ? $_G[$k[0]][$k[1]] : null; break;
case 3: return isset($_G[$k[0]][$k[1]][$k[2]]) ? $_G[$k[0]][$k[1]][$k[2]] : null; break;
case 4: return isset($_G[$k[0]][$k[1]][$k[2]][$k[3]]) ? $_G[$k[0]][$k[1]][$k[2]][$k[3]] : null; break;
case 5: return isset($_G[$k[0]][$k[1]][$k[2]][$k[3]][$k[4]]) ? $_G[$k[0]][$k[1]][$k[2]][$k[3]][$k[4]] : null; break;
}
return null;
}


道勤主机提供365天*24小时全年全天无休、实时在线、零等待的售后技术支持。竭力为您免费处理您在使用道勤主机过程中所遇到的一切问题! 如果您是道勤主机用户,那么您可以通过QQ【792472177】、售后QQ【59133755】、旺旺【诠释意念】、微信:q792472177免费电话、后台提交工单这些方式联系道勤主机客服! 如果您不是我们的客户也没问题,点击页面最右边的企业QQ在线咨询图标联系我们并购买后,我们为您免费进行无缝搬家服务,让您享受网站零访问延迟的迁移到道勤主机的服务!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

道勤网- 推荐内容!上一条 /2 下一条

!jz_fbzt! !jz_sgzt! !jz_xgzt! 快速回复 !jz_fhlb! !jz_lxwm! !jz_gfqqq!

关于我们|手机版|小黑屋|地图|【道勤网】-www.daoqin.net 软件视频自学教程|免费教程|自学电脑|3D教程|平面教程|影视动画教程|办公教程|机械设计教程|网站设计教程【道勤网】 ( 皖ICP备15000319号-1 )

GMT+8, 2024-9-20 20:49

Powered by DaoQin! X3.4 © 2016-2063 Dao Qin & 道勤科技

快速回复 返回顶部 返回列表