注册
 找回密码
 注册
江西广告网
查看: 1748|回复: 0
打印 上一主题 下一主题

手把手教你制作uchome头像分男女且随机更换

[复制链接]
  • TA的每日心情
    擦汗
    2016-12-6 16:04
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    1
    跳转到指定楼层
    发表于 2009-10-26 00:43:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    美化发布
    适用版本: UCHome 2.0
    语言编码: GBK UTF8 
    转换者:
    版权所属:
    支持网站:
    美化作者:

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

    x
    手把手教你制作uchome头像分男女且随机更换

    制作非常简单:
    第一步:在ucenter\images目录下新建文件夹avatar,里面存放你的头像文件,每个头像文件由三张图片组成,大小分别是200×200、120×120、48×48,头像的命名,如果是男生头像,以“m”开头,如果是女生头像,以“f”开头,如,f_big_01.gif,f_middle_01.gif,f_small_01.gif(附件中有我精选的11个男生头像和10个女生头像);

    第二步:修改uceter目录下的avatar.php文件(不懂php的可以直接下载我附件中的同名文件覆盖),
    第35行
    1. $avatar_url = 'images/noavatar_'.$size.'.gif';
    复制代码
    修改为
    1. //默认头像分男女,且随机选择,

    2.         require_once("data/config.inc.php");

    3.         require_once("lib/db.class.php");

    4.         $db = new db();

    5.         $db->connect(UC_DBHOST, UC_DBUSER, UC_DBPW, UC_DBNAME, UC_DBCHARSET, UC_DBCONNECT, UC_DBTABLEPRE);

    6.         $gd=$db->fetch_first("SELECT gender FROM cdb_members WHERE uid='$uid'");//注:如果discuz论坛数据表的前缀不是“cdb_”,请修改此处。

    7.         if($gd['gender']) $gender = 'm';

    8.         else $gender = 'f';

    9.         $random = sprintf("%02d",rand(1,$gender=='f'?9:11));//11表示男生头像的个数,9表示女生头像的个数

    10.         $avatar_url = 'images/avatar/'.$gender.'_'.$size.'_'.$random.'.gif';

    11.         //结束,默认头像分男女,且随机选择,
    复制代码
    复制代码说明:uchome调用头像并非通过avatar.php文件,此处修改主要是为discuz的头像调用服务,因此,此处头像男女的区分是根据discuz会员数据表的记录确定的。

    第三步:修改home\source目录下function_common.php文件(不懂php的可以直接下载我附件中的同名文件覆盖),修改1566行
    1. global $_SCONFIG, $_SN;
    复制代码
    修改为
    1. global $_SGLOBAL, $_SCONFIG, $_SN;//默认头像分男女,且随机选择
    复制代码
    修改1570行
    1. eturn $returnsrc ? UC_API.'/data/avatar/'.$avatarfile : '<img src="'.UC_API.'/data/avatar/'.$avatarfile.'" onerror="this.onerror=null;this.src=\''.UC_API.'/images/noavatar_'.$size.'.gif\'">';
    复制代码
    修改为:
    1. //默认头像分男女,且随机选择,

    2.         $query = $_SGLOBAL['db']->query("SELECT sex FROM ".tname('spacefield')." WHERE uid='$uid' LIMIT 1");

    3.         if($gd = $_SGLOBAL['db']->fetch_array($query)) {

    4.                 if($gd['sex']==1) $gender = 'm';

    5.                 else $gender='f';

    6.         }else $gender = rand(1,2)==2?"f":"m";

    7.         $random = sprintf("%02d",rand(1,$gender=='f'?9:11));//11表示男生头像的个数,9表示女生头像的个数

    8.         $randavatar = '/images/avatar/'.$gender.'_'.$size.'_'.$random.'.gif';

    9.         return $returnsrc ? UC_API.'/data/avatar/'.$avatarfile : '<img src="'.UC_API.'/data/avatar/'.$avatarfile.'" onerror="this.onerror=null;this.src=\''.UC_API.$randavatar.'\'">';

    10.         //结束默认头像分男女,且随机选择
    复制代码
    复制代码OK,搞定收工,更新缓存,刷新页面,看看那些没有上传头像的用户头像吧,是不是不在千篇一律了?

    uchome头像分男女且随机.rar

    487.09 KB, 下载次数: 146

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

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