PHP批量生成随机用户名教程
发布时间:2022-07-08 00:18:31 所属栏目:PHP教程 来源:互联网
导读:PHP批量生成随机用户名,生成6 ~ 16位的用户名若干个,主要是文本操作,同事前提是要有一个字符串包。 主要包含三个程序。 程序1:负责过滤重复值和不属于 6~16 之间的值并且生成最终结果(3.php) ?php /* 生成最终结果 */ file = ./result.dic; target =
PHP批量生成随机用户名,生成6 ~ 16位的用户名若干个,主要是文本操作,同事前提是要有一个字符串包。 主要包含三个程序。 程序1:负责过滤重复值和不属于 6~16 之间的值并且生成最终结果(3.php) <?php /* 生成最终结果 */ file = "./result.dic"; target = "./target.dic"; //去掉重复值 files = file(file); files = array_unique(files); //判断值是不是大于6位小于16位 sum = count(files); for (i=0; i<sum; i++) { if (strlen(files[i])>=6 && strlen(files[i])<=16) { rs[] = files[i]; } else { continue; } } //写入目标文件 result = implode("", rs); fp = fopen(target, "a+") or die("Open target failed"); fwrite(fp, result); echo 'Write succeed'; ?> 程序2:负责从字典中随机提取数据,写入一个新文件。(1.php) <?php /* 从字典文件中提取随机值 */ file1 = "./Words.dic"; file2 = "./common_pass_mini.dic"; file3 = "./Sys_Month_Date.Dic"; rfile = "./5.dic"; n = 2000; //提取字典 basef = file(file1); extf = file(file2); extf2 = file(file3); bf_sum = (count(basef)-1); ef_sum = (count(extf)-1); ef2_sum =(count(extf2)-1); //获取随机用户名 for (i=0; i<n; i++) { bn = crand(0, bf_sum); en = crand(0, ef_sum); en2 = crand(0, ef2_sum); name = basef[bn]."_".extf[en]; name = str_replace("/r/n", "", name); all_name[] = name; } //写入文件 result = implode("/r/n", all_name); fp = fopen(rfile, "a+") or die('Open rfile failed'); if (fwrite(fp, result)) { echo 'Write user succeed!'; } else { echo 'Write user failed'; } //生成随机数字函数 function crand(start, end) { return mt_rand(start, end); } ?> 程序3:负责把上面生成的数个文件的结果合并。(2.php) <?php /* 合并所有生成结果 knowsky.com*/ result_file = "./result.dic"; fp = fopen(result_file, "a+") or die("Open result_file failed"); //合并 1.dic ~ 5.dic for (i=1; i<=5; i++) { cur_file = file_get_contents(i.".dic"); fwrite(fp, cur_file); } //合并 10.dic ~ 11.dic for (i=10; i<=11; i++) { cur_file = file_get_contents(i.".dic"); fwrite(fp, cur_file); } fclose(fp); echo 'Write Succeed'; ?> 搞定,上面生成了 2.7W个随机用户名。 (编辑:应用网_丽江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |