您的位置:首页 > 其它

将ucenter会员批量激活discuz

2013-06-27 09:43 323 查看
公司要求批量激活uc数据到论坛。在网上搜索大半,直接复制进去不好使。发现是安装uc时分开安装的原因。

uc的安装分两种,一种是直接在discuz集成的,就是不单独安装uc.另一种是单独安装,将网站,UC,discuz,当成三个独立的个体。UC当做媒介。这种方法的好处是,思路明确,对于以后维护起来方便。更可实现不同服务器拆分。承载更大的用户量。下面贴一个批量激活的代码。兼容两种。只是在原有基础上稍作修改的。

$dbserver ='localhost'; //此处改成数据库服务器地址

$dbuser ='root';//此处写数据库用户名

$dbpwd ='';//数据库密码

$dbname ='disucz';//数据库名称

$charset ='gbk';//此处写字符集gbk或者utf8

$uc = 'ucenter';//uc数据库名

$uc_pre ='dz_';//UC表前缀

$dz = 'discuz';//数据库名

$dx_pre ='dz_';//Discuz! 表前缀

//此行开始向下不要改动

set_time_limit(0); //0为无限制

$connect=mysql_connect($dbserver,$dbuser,$dbpwd) or die("无法连接数据库");

@mysql_select_db($dbname,$connect);

mysql_query("set names $charset");

$query = mysql_query("SELECT * FROM {$uc}.`{$uc_pre}members` WHERE `uid` not in(select `uid` from {$dz}.`{$dx_pre}common_member`) ",$connect);

while($user = mysql_fetch_array($query)) {

$password=$user[password];

mysql_query(" replace INTO {$dz}.`{$dx_pre}common_member` (uid,username,password,adminid,groupid,regdate,email) VALUES ('$user[uid]', '$user[username]', '$password','0','10','$user[regdate]','$user[email]') ");

mysql_query(" replace INTO {$dz}.`{$dx_pre}common_member_field_forum` (uid) VALUES ('$user[uid]')");

mysql_query(" replace INTO {$dz}.`{$dx_pre}common_member_field_home` (uid) VALUES ('$user[uid]')");

mysql_query(" replace INTO {$dz}.`{$dx_pre}common_member_count` (uid) VALUES ('$user[uid]')");

mysql_query(" replace INTO {$dz}.`{$dx_pre}common_member_profile` (uid) VALUES ('$user[uid]')");

mysql_query(" replace INTO {$dz}.`{$dx_pre}common_member_status` (uid) VALUES ('$user[uid]')");

}

echo "已从UC批量导入激活成功";
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: