手机版

PHP实现合并discuz用户

时间:2021-09-08 来源:互联网 编辑:宝哥软件园 浏览:

本文说明了PHP合并discuz用户脚本的方法。分享给大家参考。具体如下:

几天前,我遇到了一个项目,需要合并两个discuz,一个用户级别约为12万,另一个用户级别为1.8万。不用说,肯定扔了1.8万,还剩12万。一开始觉得很难处理,数据表都是相关的。注册新用户时,记录被添加到8个表中,看不到其他表是否有修改记录的可能。当时觉得一时半会儿整理不出那些表,就搜索找到了discuz工具。然而,我只能指导10万以内的人,所以我不得不自己尝试。后来想到如何直接在键表中插入一条记录,其他表在用户操作过程中可能会自动填写相关数据,于是尝试导出原来的18000个用户,然后写了一个PHP脚本,直接将这18000个用户写入到非键memeber表中,经过测试,还可以。遗憾的是,所有的用户点都没有通过,只有用户名和密码被保留了下来。

关键步骤:

1.将不想要的系统的非中心成员数据库导出到sql文件中。

2.运行脚本。

免责声明:本脚本仅提供想法。使用前请备份数据。如果数据丢失,与作者无关。(代码简单,不喷)

set _ time _ limit(0);$link=mysql_connect('localhost ',' ngjc ',' ohFt6yhHYvt5 ')或die('无法连接: '。MySQL _ error());回应“已成功连接”;mysql_select_db('ngjc ')或die('无法选择数据库');需要“SQL . PHP”;//用导出的sql文件$ arrayerr=array()替换此处;$ oknum=0;$ errnum=0;MySQL _ query(' SET NAMES utf8 ');foreach($sqlarr as $sql) { if(!MySQL _ query($ SQL)){ $ arrayer[]=$ SQL;$ errnum} else { $ oknum} } echo“preo k : $ oknum brerrornum : $ errnum br error : br”;print _ r($ arrayer);MySQL _ close($ link);让我们来看看使用UC集成的方法

这两天一直在2个讨论中心和会员系统;经过我不懈的努力;最后,集成完成;集成后实现的功能如下:

两个discuz系统共享同一个数据中心;//实现方法:

两个discuz系统共享同一个成员系统;//解决方案在后面;

先集成ucenter

首先完全安装discuz系统;输入ucenter;添加应用程序:

单击安装:一直到下一步

如果您必须解决上述问题,安装可以继续。请返回并输入UCenter的IP地址:如果没有事故,进行下一步

Ucenter集成完成;可实现同时登录;同时退出;只是第一次激活;

Open config _ global.php在第二子系统的配置/下;

at $ _ config[' db '][' 1 '][' table pre ']=子楚_ ';添加$ _ config[' db '][' 2 '][' table pre ']=it _ under

在第二子系统的源\类\数据库文件中打开db _ driver _ mysql.php;

在第34行,$ this-table pre=$ config[' 1 '][' table pre '];在下面添加$ this-table pre Chu=$ config[' 2 '][' table pre '];第112行返回$这个表前。$ tablename修改如下

if(preg_match('/^common_member(.*)/i ',$ tablename)| | preg_match('/^home(.*)/i ',$ table name)| | in _ array($ table name,array(' common _ credit _ rule _ log ')){ return $ this-table prechu。$ tablename//tableprechu对应上述修改;}else{ return $this-tablepre。$ tablename}以上是边肖总结的两种整合DZ论坛成员的方式,个人比较喜欢第二种。毕竟第一个还是有一些缺陷的。

版权声明:PHP实现合并discuz用户是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。