【本帖代码解析异常,请点击这里查看完整教程!】
新加一些文件、修改2个系统文件(语言包source/language/lang_message.php,头像uc_server/avatar.php)。
借助的是php头像生成类Material-Design-Avatars-master
效果说明:
当用户注册后自动生成一个头像,当
用户名为中文时取第一个中文字符,当用户名为英文时取第一个字母,生成随机背景色头像文件作为默认头像!
比如:Moqu8 ,则生成
开始制作:
一、上传Material-Design-Avatars-master文件
点击下载 make_avatar.rar
(大小:4.42M)
将压缩包解压,make_avatar文件夹上传到网站根目录。
此时是可以单独测试的,地址:域名/make_avatar/avatar.php?Char=guest&uid=guest&size=48
访问后如果可以看到48px*48px大小的“用”字,且/make_avatar/avatars/目录里生成了guest-big.png、guest-middle.png、guest-small.png 三个图片则代表成功。
二、调用头像
1.打开uc_server/avatar.php,找到第36行,注释掉,在其下增加代码:
//$avatar_url = 'images/noavatar_'.$size.'.gif';
$ex_avatar_url = '../make_avatar/avatars/'.$uid.'-'.$size.'.png';
if (is_readable($ex_avatar_url) == false) {
$avatar_url = 'images/noavatar_'.$size.'.gif';
} else {
$avatar_url = $ex_avatar_url;
}
如果用户上传了头像,就用上传的头像。
如果用户未上传头像,就用我们生成的头像。
如果未上传也未生成,就用默认头像。
2.调用头像代码
系统代码,3种尺寸,48X48/120X120/200X200
注册 {bbname},<br />系统给您发送了一封带有注册地址的邮件,快去登录邮箱获取注册链接进行下一步注册吧',
还有第1034、1036、1038行,凡是提示注册成功的都加上。
//也可以在uc_server/avatar.php里做判断,如果未上传头像,使用
<!--{loop $unavatars $value}-->
<!--{/loop}-->[/code]需要特别注意,我用的是gbk编码,文件里面涉及编码转换,如果系统为其他编码,可能会导致头像中文字乱码,可以删除下编码转换代码试试。
20171121 补充:
注释掉MDAvatars.php第344行
//array(255, 255, 255),
以防止随机到白色背景,导致头像看着是空白的问题。
20180101 补充:
字体不全,有些汉字无法准确生成,看来中文用户名还是使用拼音首字母靠谱一些。
历史资源提醒--必看
该页面资源/教程来自原魔趣吧历史资源转移,因发布历史久远,部分资源/教程可能已失效或无法在最新版程序中安装使用!DZ资源建议在Discuz3.4及以下版本使用,PHP版本建议5.6。资源仅提供做代码研究学习使用!
因改版,部分贴内链接将无法正常跳转,如链接失效或未正常跳转,请利用站内搜索功能搜索资源名称获取对应资源!