折腾了好几天,终于把原论坛从leadbbs转到dz7,有些经验与大家分享下。
原论坛是leadbbs4的,为了方便直接转到dz7,故先升级至leadbbs5,然后用xconvert1.31来转换。转换过程不难,但是有些波折。
1.首先是用comsenzexp安装的dz7的话,转换时记得需设置数据库地址为localhost:6603,而不是网站地址localhost:1108 (1108是网站页面用的端口而不是数据库端口)
2.xconvert的转换程序中有一点错误,就是原论坛在线时间是用秒记录的,但转换程序中按分钟处理了,导致转换后的数据不对,需要在转换前相应把step1.php中的$oltime = ($user['onlinetime']/60);改为$oltime = ($user['onlinetime']/3600);
3.原论坛的魅力、声望等在转换程序中并没有转换,而是直接把所发文章数转成了积分,故也要对step1.php中相关的行进行些更改,与dz的扩展积分对应起来,例如:
$extcredits1 = $user['points']; 这项是积分
$extcredits2 = $user['Charmpoint']; 这项是魅力
$extcredits3 = $user['CachetValue']; 这项是声望
注意,第一次转换时因为dz数据库中的扩展积分并未启用,故数据可能转不过去,这样的话,需要转过后在dz后台把扩展积分打开后,再单独转一次用户数据即可
4. 转换后帖子中的图片、附件等不能正常显示,除了按照程序的提示把文件拷贝到相应目录外,还需要手动统一从数据库进行更改,执行如下语句:- UPDATE `cdb_posts` SET `message` = replace (`message`,'[img]leadbbsfile','[img]http://www.yourwebsite.com/leadbbsfile');
- UPDATE `cdb_posts` SET `message` = replace (`message`,'[imga]leadbbsfile','[img]http://www.yourwebsite.com/leadbbsfile');
- UPDATE `cdb_posts` SET `message` = replace (`message`,'[/imga]','[/img]');
- UPDATE `cdb_posts` SET `message` = replace (`message`,'[url=leadbbs','[url=http://www.yourwebsite.com/leadbbs');
复制代码 其中的yourwebsite指的是你的论坛网址
5.转换后的帖子显示格式有问题,需要执行如下语句:- UPDATE `cdb_posts` SET `htmlon` = '0'
复制代码 6.原论坛的帖子内表情不能正常显示,需要按照官方提示,从后台添加表情并设好对应的代码,另外,转换过来的帖子默认是关闭了表情显示的(从后台打开了表情显示也无效),需要执行如下语句:- UPDATE `cdb_posts` SET `smileyoff` = 0
复制代码 7.转换后的论坛是没有"我的帖子"和"我的回复"记录的,需要把dz7的安装包中utilities 文件夹下的 myconvert.php 拷贝到论坛根目录运行即可,默认是显示30天内的用户的主题,回复等内容。
这样,转换就基本完毕了。不过,有两个地方没法解决,其一是自定义头像,按官方的方法无论如何都转不过来,其二是个人签名的ubb代码不被支持。期待着高人能够进一步完美解决。 |