网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网页制作 > Discuz!专栏
网页制作:Dreamweaver教程,FrontPages教程,Javascript教程,HTML教程,CSS教程,心得技巧,DHTML教程,网页特效,Discuz!论坛
本月文章推荐
.Discuz!NT2.5即将发布 并同步开源.
.解决Discuz 6.0 广告加载速度慢 .
.转换Discuz!两大要求和三个注意点.
.走进SupeV影音播客系统(一) Supe.
.手把手教你使用Discuz!6.0的视频.
.将一老论坛数据转换到Discuz! 6 .
.DZ6.1怎么样设计私密版块?.
.oBlog 3.x Sql到X-space 2.x图文.
.六大创新七大亮点 Discuz!NT 2.5.
.站长手记:Discuz!4.1多论坛数据合.
.UCenter Home RC3引发SNS社区橙色.
.UCenter 1.5.0 安装图文教程.
.走进SupeV影音播客系统(五) 利用.
.Discuz! info: MySQL Query Error.
.DISCUZ论坛无法显示“我的空间”.
.Windows版本Discuz!—EasyDiscuz.
.怎么增加论坛上传的文章类型?.
.Discuz!5.5 JS的调用.
.[视频]Discuz!安装系列:Discuz!.
.Discuz!使用技巧:为什么他发的帖.

将一老论坛数据转换到Discuz! 6 的程序开发手记

发表日期:2008-2-14


老论坛的原名 Snitz Forums 2000 Version 3.1 SR4 然后大概好像是经过 www.asp50.com 修改

的 ASP银河论坛 版本,后来又由 网虫资讯中国网
的 Jacky Lee 修改成为 WormCN Forums 3000 II ,界面再次得到优化和美观,我是在2002拿到

的是郭子 (Shines)的 翔浩论坛 ver.2001 版本。我是在这个版本
的基础上改的,目标是朝着更好更漂亮的ASP论坛的方向和模仿动网论坛的多功能为方向,增加功

能如下(小改动不记其内)

1、增添信息分类,增加了论坛资源显示文件 bodyasp.asp,将论坛信息显示在网页。
2、增加了评分系统,可以想动网论坛那样给帖子送花或者投鸡蛋
3、增加帖子的两种分类属性,可以将帖子设置成为“新闻”-“国内新闻”等分类,使本论坛
集成了一个新闻系统(xwyd.asp、xwyd2.asp等新闻显示文件),使论坛成集成了一个新闻系统,并成为网站的后台管理程序
4、增加新闻显示、人气帖排行、最新文章等首页调用 top-txt.ASP、new-txt.ASP等(*-txt.asp


5、增加了生成静态首页功能
6、增加了看贴发帖限制:[post=10],可以设置本帖内容必须发帖量达到10才能看到
7、增加了看贴回帖限制:[reply],可以设置本帖内容必须回复才能看到
8、增加了特殊帖子的使用菜单
9、增加了mpe、avi、asf电影的在线播放功能
10、增加了rm电影的在线播放功能
11、修改了下载连接方式,实现防止别人盗链资源
12、增加了大话西游的聊天符号和输入方式
13、更改了分类属性的设置方式,使其更加灵活方便
14、增加了论坛外看帖限制,看5帖后必须登录
15、为bodyasp.asp文件增加了帖子搜索功能
16、美化了论坛界面,为下一步做换皮肤功能做好了所有准备,使论坛全面接近动网
17、增加了发帖审核功能,并且内容修改后需要重新审核
18、增加了聊天室,用论坛身份进入,毋需再次登录

随着时间的推移,这个论坛日显落后,于是由hotworm用Discuz! 6 建立了一个新论坛。为了保持论坛人气,在论坛建立后,我用asp做了一个用户转换程序,将老用户一个不剩地转到了新论坛。但是却对帖子的转移束手无策。因为用户数据库的转换,就是一个access库循环读取到一个mysql库,比较简单。而帖子转换,不仅要转移首帖,还要转移回帖。并且Discuz! 6 的帖子和回帖都是记录在同一个库cdb_posts ,同时还有一个首帖列表cdb_threads,而在老论坛数据库中,回帖和首帖是分开的。转到新库后,要保证所有首帖的id和回复的ID保持对应。
但是因为广大用户的强烈要求,最终我们还是决定尽最大的努力将老论坛数据转换到新论坛来。为此我开始着手用比较擅长的asp做一个转换程序。
在实际动手制作的时候,又发现了新问题。那就是附件和用户。在把首帖和回帖保持对应的同时,还要和附件库cdb_attachments还有用户库cdb_members 保持对应。使工作量成倍增长。

最后为了完美,还要在cdb_mythreads、cdb_myposts这两个库中增添对应数据,以便用户点击“我的帖子”是能看到自己以前发表的文章。经过两天的埋头苦干,程序终于拿出来了,在测试的时候又发现了新问题,就是新论坛个别用户改了名字,致使数据无法对应而出错,为此,只能先将无主帖归入匿名旗下。

程序分为4个部分,
index.html    提交页,每次转换一个分栏目,在这里要填写老论坛数据源栏目,和新论坛目标栏目。
DATA.ASP     用Conn连接老论坛的access数据库
coun.asp     用Conn2连接新论坛的mysql数据库
start.asp    主要处理程序,进行多次循环和查询写入操作,将老数据写入新论坛数据库。因为转换是一次性的,因此没有费心思对数据及资源占用进行优化。程序已经完成,并通过初步测试。即将对论坛进行转换,这里只是记录一下开发这个小程序的思路和过程,如果您也有类似的需要,或者像交流asp编成经验,请回帖支持,代码将在实际转换数据成功后,发给回帖者。

------------------补充:数据转换完成,发现一个小问题,并附上解决办法--------------
论坛数据已经转换完毕,目前发现的唯一缺点是,附件中的jpg文件,扩展名是大写"JPG",结果转换程序有点小BUG,把它当作其他类型了,于是无法直接显示图片,最后用phpmyadmin工具,直接用SQL命令在cdb_attachments批量修改,语法如下:
update `cdb_attachments`  set  `filetype` =CONVERT( _utf8 'image/pjpeg' USING gbk )  WHERE `filename` LIKE CONVERT( _utf8 '%jpg%' USING gbk )
COLLATE gbk_chinese_ci AND `filetype` != CONVERT( _utf8 'image/pjpeg' USING gbk )


备份好数据库后,一次执行通过,数据一切正常,目前唯一缺点是,是点击“我的帖子”,可以看到以前发的主题,但是点击“我的回复”,无法看到以前的数据。Discuz! 6好像不带修复这项功能的工具,用asp做的话也很简单,但是这个功能也算是无关紧要,要是论坛上要求的用户多再搞吧,我要赶紧忙其他事情去了。

上一篇:如何把社区首页上方的热门标签去掉 人气:4767
下一篇:SupeSite模块参数说明 人气:3149
浏览全部Discuz! 6的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐