PHP實(shí)現(xiàn)合并discuz用戶
本文實(shí)例講述了PHP合并discuz用戶腳本的方法。分享給大家供大家參考。具體如下:
前幾天遇到一個(gè)需要將兩個(gè)discuz合并的項(xiàng)目,一個(gè)用戶級(jí)別在12萬(wàn)左右,一個(gè)是1萬(wàn)8.不用說(shuō)肯定是扔了1萬(wàn)8的,留下12萬(wàn)的。開始覺(jué)得不好處理,數(shù)據(jù)表都是關(guān)聯(lián),新注冊(cè)一個(gè)用戶,有8個(gè)表增加記錄了,還沒(méi)看有沒(méi)有其他表有修改記錄的可能性。當(dāng)時(shí)覺(jué)得一時(shí)半會(huì)兒也理不清那些表,就搜索了一下,搜到了discuz tool.但是只能導(dǎo)10萬(wàn)以內(nèi)的,于是就只能自己嘗試了,后來(lái)考慮,我直接在關(guān)鍵表插入一條記錄如何,其他表在用戶操作的過(guò)程中沒(méi)準(zhǔn)就自動(dòng)補(bǔ)齊的相關(guān)數(shù)據(jù)了,于是就試著導(dǎo)出原來(lái)的1萬(wàn)8用戶,然后寫了個(gè)PHP腳本直接將這1萬(wàn)8用戶寫入的uncenter的memeber表里。測(cè)試了一下還OK。遺憾的是用戶積分啥的都沒(méi)過(guò)去,只是保留了用戶的用戶名和密碼。
關(guān)鍵步驟:
1.導(dǎo)出打算不要的那個(gè)系統(tǒng)的uncenter member數(shù)據(jù)庫(kù)成sql文件。
2.運(yùn)行腳本。
聲明:本腳本只提供思路,請(qǐng)使用前提前備份好數(shù)據(jù),如數(shù)據(jù)丟失與作者無(wú)關(guān)。(代碼簡(jiǎn)單,勿噴)
set_time_limit(0);
$link = mysql_connect('localhost', 'ngjc', 'ohFt6yhHYvt5')
or die('Could not connect: ' . mysql_error());
echo 'Connected successfully';
mysql_select_db('ngjc') or die('Could not select database');
require "sql.php";//此處換成導(dǎo)出的sql文件
$arrayerr=array();
$oknum=0;
$errnum=0;
mysql_query("SET NAMES utf8");
foreach($sqlarr as $sql)
{
if(!mysql_query($sql))
{
$arrayerr[]=$sql;$errnum++;
}
else
{
$oknum++;
}
}
echo "<pre>OK:$oknum <br>errornum:$errnum <br> error:<br>";
print_r($arrayerr);
mysql_close($link);
我們?cè)賮?lái)看下使用UC整合的方法
這兩天一直在2個(gè)discuz的ucenter和會(huì)員系統(tǒng);經(jīng)過(guò)我的不懈努力;終于整合完成;整合過(guò)后實(shí)現(xiàn)功能如下;
兩個(gè)discuz系統(tǒng)共用同一個(gè)ucenter; //實(shí)現(xiàn)方法:
兩個(gè)discuz系統(tǒng)共用同一個(gè)會(huì)員系統(tǒng);//解決方法在后面;
先整合ucenter;
先完整安裝一個(gè)discuz系統(tǒng);進(jìn)入ucenter;添加應(yīng)用:

點(diǎn)擊安裝:一直下一步到下面

如果點(diǎn)擊出現(xiàn)您必須解決以上問(wèn)題,安裝才可以繼續(xù)
請(qǐng)返回輸入 UCenter 的IP地址:如果不出意外進(jìn)入下一步

ucenter整合完畢;可以實(shí)現(xiàn)同時(shí)登陸;同時(shí)退出;只是第一次需要激活;
打開第二個(gè)分系統(tǒng)config/下的config_global.php;
在$_config['db']['1']['tablepre'] = chuzi_';下添加$_config['db']['2']['tablepre'] = it_
第二個(gè)分系統(tǒng)打開source\class\db文件下的db_driver_mysql.php;
在第 34行 $this->tablepre = $config['1']['tablepre'];下面添加 $this->tableprechu = $config['2']['tablepre'];
第112行 return $this->tablepre.$tablename;修改成下面
if(preg_match("/^common_member(.*)/i",$tablename)|| preg_match("/^home(.*)/i",$tablename) || in_array($tablename, array('common_credit_rule_log')))
{
return $this->tableprechu .$tablename; //tableprechu與上面修改對(duì)應(yīng)就行;
}else{
return $this->tablepre.$tablename;
}
以上就是小編給大家總結(jié)的2種整合DZ論壇會(huì)員的方式,個(gè)人比較喜歡第二種,畢竟第一種還是有些缺陷的。
- UCenter Home二次開發(fā)指南
- php將會(huì)員數(shù)據(jù)導(dǎo)入到ucenter的代碼
- UCenter中的一個(gè)可逆加密函數(shù)authcode函數(shù)代碼
- UCenter info: MySQL Query Error SQL:SELECT value FROM [Table]vars WHERE noteexists
- php中通過(guò)curl模擬登陸discuz論壇的實(shí)現(xiàn)代碼
- 比較discuz和ecshop的截取字符串函數(shù)php版
- 單點(diǎn)登錄 Ucenter示例分析
- java(jsp)整合discuz同步登錄功能詳解
- 簡(jiǎn)單分析ucenter 會(huì)員同步登錄通信原理
相關(guān)文章
PHP實(shí)現(xiàn)對(duì)站點(diǎn)內(nèi)容外部鏈接的過(guò)濾方法
這篇文章主要介紹了PHP實(shí)現(xiàn)對(duì)站點(diǎn)內(nèi)容外部鏈接的過(guò)濾方法,可實(shí)現(xiàn)針對(duì)外部鏈接增加rel="nofollow"的功能,有助于網(wǎng)站SEO建設(shè)以及避免不必要的損失,是非常實(shí)用的技巧,需要的朋友可以參考下2014-09-09
php 截取GBK文檔某個(gè)位置開始的n個(gè)字符方法
下面小編就為大家?guī)?lái)一篇php 截取GBK文檔某個(gè)位置開始的n個(gè)字符方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03
通過(guò)Email發(fā)送PHP錯(cuò)誤的方法
這篇文章主要介紹了通過(guò)Email發(fā)送PHP錯(cuò)誤的方法,實(shí)例分析了php錯(cuò)誤的讀取及通過(guò)php發(fā)送Email的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
解析php中session的實(shí)現(xiàn)原理以及大網(wǎng)站應(yīng)用應(yīng)注意的問(wèn)題
本篇文章是對(duì)php中session的實(shí)現(xiàn)原理以及大網(wǎng)站應(yīng)用應(yīng)注意的問(wèn)題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
php實(shí)現(xiàn)異步將遠(yuǎn)程鏈接上內(nèi)容(圖片或內(nèi)容)寫到本地的方法
這篇文章主要介紹了php實(shí)現(xiàn)異步將遠(yuǎn)程鏈接上內(nèi)容(圖片或內(nèi)容)寫到本地的方法,涉及php基于curl進(jìn)行遠(yuǎn)程文件傳輸?shù)南嚓P(guān)操作技巧,需要的朋友可以參考下2016-11-11
php實(shí)現(xiàn)Session存儲(chǔ)到Redis
這篇文章主要介紹了php實(shí)現(xiàn)Session存儲(chǔ)到Redis的方法,php Session可以保存到文本或者內(nèi)存、還有數(shù)據(jù)庫(kù),本文講的是存到Redis的方法,2015-11-11

