首页 电脑 电脑学堂 查看内容

使用PHP批量生成随机用户名

2010-3-23 14:09 675 0

摘要:     生成6 ~ 16位的用户名若干个,主要是文本操作,同事前提是要有一个字符串包。主要包含三个程序。     程序一:负责从字典中随机...
关键词: nbsp 程序 生成 随机 用户名 结果 面生 文件 一个 php

    生成6 ~ 16位的用户名若干个,主要是文本操作,同事前提是要有一个字符串包。主要包含三个程序。     程序一:负责从字典中随机提取数据,写入一个新文件。(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(" ", "", $name);     $all_name[] = $name;     }     //写入文件     $result = implode(" ", $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);     }     ?>     程序二:负责把上面生成的数个文件的结果合并。(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';     ?>     程序三:负责过滤重复值和不属于 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.7W个随机用户名,呵呵,保证够你使用。
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部