mt 发表于 2017-7-31 13:08:07

DISCUZ如何实现注册会员的头像随机显示预先设置的图片

本帖最后由 mt 于 2017-7-31 13:10 编辑

当用户在Discuz没有上传自己的头像,显示的是默认头像,那么可不可以让这个默认头像随机显示了,答案是可以的,实现起来也比较简单,如果你熟悉php的随机函数rand()的话。打开 你安装的uc目录下的 avatar.php
找:
$size = in_array($size, array('big', 'middle', 'small')) ? $size : 'middle';
$avatar_url = "images/noavatar_$size.gif";替换成:**** Hidden Message *****
注意上面代码中红色的数字。
上传头像目录 noavatar 到 UC的images目录下
里面的图片可以自定义,只要文件名不变就OK!
noavatar分3个文件夹,分别是:big(200*200),middle(120*120),small(48*48)
noavatar文件夹内的图片没有那么多就不要写超过文件夹图片的数目。

PS:$avatar_url这个变量其实就是头像的地址,它后面的赋值包含了$size和$rand_num这个两个变量,$size会呈现大图、中图、小图对应的big、middle、small,$rand_num则会随机显示1-5其中的一个数字,那么不难想象,默认头像图片的地址是会随机变化的。理解一下,就很简单了。
接下来我们就应该根据$avatar_url这个变量产生的会变的图片地址上传对应的默认头像图片了,是吧,这里测试的$rand_num是1-5的随机数字,且看上面的路径,便是在image/randuser目录建立big、middle及small三个文件夹,分别上传5张即可,大小分别为big(200*200),middle(120*120),small(48*48)。
产生的默认头像图片地址会如:images/randuser/small/2.gif,这个2.gif可能会是3.gif也可能会是5.gif。

页: [1]
查看完整版本: DISCUZ如何实现注册会员的头像随机显示预先设置的图片