由于 UCenter 版本 Discuz! 的会员头像保存机制发生了改变,会员头像不再保存在一个特定的路径下,而是保存在通过一定的算法形成的路径目录下。该路径目录不是固定的,而是通过对用户 uid 实施一定的算法形成,用户 uid 不同,其头像保存目录可能不同。因此,其他论坛转换过来的或者是 Discuz! 低版本升级过来的论坛,用户头像就会显示为系统默认的头像,以前的头像的转不过来的。

为解决这一问题,COMSENZ 开发了头像转换工具,见附件。下面详细介绍该工具的使用方法。

一、使用该工具的前提

务必要使 UCenter 版本 Discuz! 数据库 memberfields 表中 avatar 字段的值与实际头像文件保存目录保持一致,不然头像转换程序找不到头像图片。

以动网转换过来的论坛为例:

检查转换后 Discuz! 数据库 memberfields 表中 avatar 字段的值

从上图中可以看到,avatar 字段的值是 images/avatars/dvbbs/xxx.gif,那么您需要将原论坛的用户头像目录images/userface 更名为 dvbbs,并将改名后的 dvbbs 目录及其下所有文件移动至 Discuz! 的头像目录 images/avatars/ 下。

移动后如下图:

#p#副标题#e#

二、该工具可以转换的头像类型

1、原论坛自带的头像图片

2、用户上传的图片

3、网络上的图片

注意:网络上的图片建议不要转换。这部分的转换需要从网上下载图片,因此如果超时,很可能转换出错。该工具默认为不转换。如果您认为必须转换,用文本编辑器打开该程序文件,将 103-136 行的注释去掉即可。

三、工具使用方法

1、下载工具并解压

解压后得到如图:

2、上传 upgradeavatar.php 文件到 Discuz! 论坛根目录

#p#副标题#e#

3、修改转换头像工具,设置论坛和 UCenter 目录

打开 upgradeavatar.php 文件,找到如下代码:

define('UC_SERVER_ROOT', ''); //UCenter(uc_server) 路径define('DISCUZ_ROOT', getcwd().'/');

其中 define('UC_SERVER_ROOT', ''); 是设置 UCenter 的相对目录,相对于论坛 Discuz! 根目录。

define('DISCUZ_ROOT', getcwd().'/'); 是设置 Discuz! 根目录路径,按照默认即可。

如果您不清楚如何设置这两项,建议您这么做:

1)在 Discuz! 论坛根目录下建立一个临时目录 ucenter,然后在其下建立 data/avatar/ 子目录。

2)然后这么设置 upgradeavatar.php 文件

define('UC_SERVER_ROOT', getcwd().'/ucenter/'); //UCenter(uc_server) 路径define('DISCUZ_ROOT', getcwd().'/');

设置好文件后,保存文件。

4、运行该程序

比如您的 Discuz! 论坛地址是 http://www.veryhuo.com/bbs,那么请在浏览器地址栏中输入:http://www.veryhuo.com/bbs/upgradeavatar.php 来运行该程序。

头像转换程序是自动的,无需人工干涉,这时您可以选择休息。

5、运行完毕

如果您是在论坛根目录下建立临时文件 ucenter/data/avatar,那么请将该目录下的所有文件拷贝到  UCenter 安装根目录下的 /data/avatar/ 目录下。

注意:运行该程序前请做好数据库的备份,该程序只能转换部分头像,不保证全部转换。

该程序运行完毕,头像就成功保存到 UCenter 根目录下的 /data/avatar/ 目录下。在确认头像转换没问题后,您可以删除 Discuz!6.1 论坛根目录下的 customavatars 目录下的文件。

ucenter avatar.php,UCenter版本Discuz!头像转换工具详解相关推荐

  1. css中的单位换算_css大小单位px em rem的转换和详解

    css大小单位px em rem的转换和详解 PX特点 1. IE无法调整那些使用px作为单位的字体大小: 2. 国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位: 3. Firef ...

  2. php byte转 宽字符,C++宽字符与普通字符的转换实例详解

    C++宽字符与普通字符的转换实例详解 把字符串转换成宽字符串, 实例代码: wstring string2Wstring(string sToMatch) { #ifdef _A_WIN int iW ...

  3. 生成jni的android.mk,Android Studio 3.5版本JNI生成SO文件详解

    学习在于记录,把自己不懂得容易忘记得记录下,才是最好得选择. 废话不多说,想要在Android开发中嵌入c/c++代码,直接开始如下步骤 1.创建需要调用的Java类 在你某个指定的包下创建如下类pa ...

  4. java里的进制转换函数_基于Java中进制的转换函数详解

    十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 Integer.toBinar ...

  5. python代码图片头像_Flask 上传自定义头像的实例详解

    Flask Web 开发这本书基本上做完了,后面还需要温习,但是自己做的博客总觉得简陋了点,所以,在动脑子开发新功能 今天想到最基本的功能,自定义头像 那这样的功能,设计到2大基本功能块 1:如何进行 ...

  6. c语言整数转ip地址字符串,C/C++ ip地址与int类型的转换实例详解

    C/C++ ip地址与int类型的转换实例详解 前言 最近看道一个面试题目,大体意思就是将ip地址,例如"192.168.1.116"转换成int类型,同时还能在转换回去 思路 i ...

  7. C#各个版本中的新增特性详解

    序言 自从2000年初期发布以来,c#编程语言不断的得到改进,使我们能够更加清晰的编写代码,也更加容易维护我们的代码,增强的功能已经从1.0搞到啦7.0甚至7.1,每一次改过都伴随着.NET Fram ...

  8. [下载]视频转换工具超级解霸Total Video Converter破解版

    软件介绍: 超 级转霸(英 文名 E.M. Total Video Converter)提供视频转换 文件的终极解决方案,它能够读取和播放各种视频和音频文件, 并且将他们转换为流行的媒体文件格式.它内 ...

  9. python如何强制转换数据类型_python数据类型强制转换实例详解

    如果是字符串进行强制转换, 仅仅就是在原数据类型的两边套上引号 2.list : 强制转换成列表""" 如果是字符串,会把每一个字符都单独作为一个元素放到新的列表中 如果 ...

最新文章

  1. c++ char **argv 赋值
  2. 解決scott 用戶登錄錯誤: invalid username/password;logon denied
  3. vscode使用教程python-VsCode使用教程
  4. MySQL 索引详解
  5. JVM用户自定义加载器实现步骤
  6. 我们该如何学习机器学习中的数学
  7. 8.19noip模拟题
  8. 35 SD配置-销售凭证设置-定义项目类别组
  9. 生活质量衡量系统_16个你需要了解的DevOps指标,助你提升软件质量
  10. python获取eth0_详解 Python 获取网卡 IP 地址的黑魔法
  11. python入门神器 知乎_如何处理 Python 入门难以进步的现象?
  12. Java的各种中文乱码解决方法
  13. 公布中秋福利中奖名单
  14. 医疗时鲜资讯:移动医疗 or 互联网医疗 or 远程医疗?
  15. LC串联和并联电路汇总
  16. Similarity-Preserving Knowledge Distillation
  17. 记一次机房断电办公室网络瘫痪的恢复经过
  18. Maven学习——maven基础
  19. Unity3D WebGL部署
  20. Scratch如何学习?少儿编程网站如何入手?

热门文章

  1. 人为什么会说别人坏话
  2. 红米Note9和红米Note9Pro 哪个好
  3. 5.1 数值分析: 插值问题
  4. 零中频接收机频率转换图_【收发器(Transceiver)架构2-接收机2,做射频的同学建议看!】...
  5. python 图像处理之将图片转换为txt
  6. JSP+ssm计算机毕业设计企业订单网站b2wcu【源码、数据库、LW、部署】
  7. 看央视《对话》关于陈天桥有感
  8. 玩转物联网:(2)语音控制开关灯
  9. vxworks issue: pcie msi interrupt
  10. 全球及中国汽车驱动IC行业发展策略及投资可行性研究报告2022-2028年