·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

有没有批量自定义添加会员的功能 New

91 1
发表于 2024-12-8 11:10:29 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
插件除外,最后能用代码解决的。下面是网上找了一个不能用,或者有没有人会用这个的。


Discuz 6.0+ 批量注册用户名
此方法适合于手动采集用户名,自动注册用户名,这样做的好处是比较逼真!


1.将adduser.php复制到discuz 根目录 下;
/--adduser.php内容如下--/

<? php
require_once './include/common.inc.php ';
//注册的名字
$user_list = file('./username.txt ');
//注册的密码
$a = "12345678";
$pwd = md5($a);
// 注册用户数(建议一万一下)
$member_num = count($user_list);
//设置运行时间
set_time_limit(3600 );
for($i=0;$i<$member_num;$i++) {
$username = $user_list[$i];
$db->query("REPLACE INTO {$tablepre}members (username, password,regdate) VALUES

('$username', '$pwd','1175655041')");
$uid = $db->insert_id();
$db->query("INSERT INTO {$tablepre}memberfields (uid) VALUES ('$uid')");
echo $i.':'.$username."__完成<br/>";
?>


2.手工采集用户名,也放于discuz根目录下
/--username.txt内容如下--/
mouse365
大菜鸟
SHAM


确保一行一个即可!

PS:关于用户名的采集可以采用如下方法(以 http://www.freediscuz.net/bbs/member.php?

action=list 为例)

1. 打开网址 http://www.freediscuz.net/bbs/member.php?action=list ;
2.复制以下信息保存到username.txt
admin 1 2003-6-7 2008-12-22 15:06 127 421
theoldmemory 3 2003-6-8 2004-8-8 23:15 0 0
lauraych 4 2003-6-9 2007-9-28 16:36 0 0
3.利用UltraEdit等编辑器执行正则匹配去掉无用信息
admin
theoldmemory
lau

我知道答案 回答被采纳将会获得1 贡献 已有0人回答
我要说一句 收起回复

评论1

Discuz智能体Lv.8 发表于 2025-3-19 17:34:25 | 查看全部
要实现批量自定义添加会员的功能,可以通过编写一个PHP脚本来实现。以下是一个简单的示例代码,你可以根据自己的需求进行调整。

### 1. 创建 `adduser.php` 文件

将以下代码保存为 `adduser.php`,并放置在 Discuz 的根目录下。

  1. <?php
  2. // 引入 Discuz 的全局配置文件
  3. require './source/class/class_core.php';
  4. $discuz = & discuz_core::instance();
  5. $discuz->init();

  6. // 读取用户名文件
  7. $usernameFile = './username.txt';
  8. if (!file_exists($usernameFile)) {
  9.     die("用户名文件不存在!");
  10. }

  11. $usernames = file($usernameFile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

  12. if (empty($usernames)) {
  13.     die("用户名文件为空!");
  14. }

  15. // 批量注册用户
  16. foreach ($usernames as $username) {
  17.     $username = trim($username);
  18.     if (empty($username)) {
  19.         continue;
  20.     }

  21.     // 检查用户名是否已存在
  22.     $user = C::t('common_member')->fetch_by_username($username);
  23.     if ($user) {
  24.         echo "用户名 {$username} 已存在,跳过注册。<br>";
  25.         continue;
  26.     }

  27.     // 生成随机密码
  28.     $password = substr(md5(uniqid()), 0, 8);

  29.     // 注册用户
  30.     $uid = uc_user_register($username, $password, 'fakeemail@example.com');
  31.     if ($uid <= 0) {
  32.         echo "注册用户 {$username} 失败。<br>";
  33.         continue;
  34.     }

  35.     echo "成功注册用户 {$username},密码为 {$password}<br>";
  36. }

  37. echo "批量注册完成!";
  38. ?>
复制代码


### 2. 创建 `username.txt` 文件

在 Discuz 根目录下创建一个 `username.txt` 文件,内容如下:

  1. mouse365
  2. 大菜鸟
  3. SHAM
复制代码


确保每行一个用户名。

### 3. 运行脚本

在浏览器中访问 `http://你的网站地址/adduser.php`,脚本会自动读取 `username.txt` 文件中的用户名,并批量注册这些用户。

### 注意事项

1. **安全性**:在生产环境中使用此脚本时,请确保脚本只能由管理员访问,避免被恶意利用。
2. **密码生成**:示例中使用了简单的随机密码生成方式,你可以根据需要调整密码生成逻辑。
3. **用户组和权限**:如果需要为新注册的用户设置特定的用户组或权限,可以在注册后通过 `C::t('common_member')->update()` 方法进行设置。

### 4. 其他说明

- 该脚本适用于 Discuz X3.4 及以上版本,如果你使用的是更早的版本,可能需要根据实际情况调整代码。
- 如果你需要更复杂的功能(如批量设置用户组、权限等),可以在脚本中添加相应的逻辑。

希望这个解决方案对你有帮助!如果有其他问题,欢迎继续提问。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

图文热点
关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:3.142.94.158,GMT+8, 2025-4-30 07:35 , Processed in 0.788250 second(s), 69 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表