程序一:负责从字典中随机提取数据,写入一个新文件。(1.php)
<?php <BR>/* 从字典文件中提取随机值 */ <br><br>$file1 = "./Words.dic"; <BR>$file2 = "./common_pass_mini.dic"; <BR>$file3 = "./Sys_Month_Date.Dic"; <BR>$rfile = "./5.dic"; <BR>$n = 2000; <br><br>//提取字典 <BR>$basef = file($file1); <BR>$extf = file($file2); <BR>$extf2 = file($file3); <BR>$bf_sum = (count($basef)-1); <BR>$ef_sum = (count($extf)-1); <BR>$ef2_sum =(count($extf2)-1); <br><br>//获取随机用户名 <BR>for ($i=0; $i<$n; $i++) <BR>{ <BR>$bn = crand(0, $bf_sum); <BR>$en = crand(0, $ef_sum); <BR>$en2 = crand(0, $ef2_sum); <BR>$name = $basef[$bn]."_".$extf[$en]; <BR>$name = str_replace("/r/n", "", $name); <BR>$all_name[] = $name; <BR>} <br><br>//写入文件 <BR>$result = implode("/r/n", $all_name); <BR>$fp = fopen($rfile, "a+") or die('Open $rfile failed'); <BR>if (fwrite($fp, $result)) { <BR>echo 'Write user succeed!'; <BR>} else { <BR>echo 'Write user failed'; <BR>} <br><br>//生成随机数字函数 <BR>function crand($start, $end) <BR>{ <BR>return mt_rand($start, $end); <BR>} <BR>?><BR>
程序二:负责把上面生成的数个文件的结果合并。(2.php)
<?php <BR>/* 合并所有生成结果 jb51.net*/ <br><br>$result_file = "./result.dic"; <br><br>$fp = fopen($result_file, "a+") or die("Open $result_file failed"); <br><br>//合并 1.dic ~ 5.dic <BR>for ($i=1; $i<=5; $i++) <BR>{ <BR>$cur_file = file_get_contents($i.".dic"); <BR>fwrite($fp, $cur_file); <BR>} <br><br>//合并 10.dic ~ 11.dic <BR>for ($i=10; $i<=11; $i++) <BR>{ <BR>$cur_file = file_get_contents($i.".dic"); <BR>fwrite($fp, $cur_file); <BR>} <BR>fclose($fp); <BR>echo 'Write Succeed'; <br><br>?><BR>
程序三:负责过滤重复值和不属于 6~6来源gaodaimacom搞#^代%!码网搞gaodaima代码16 之间的值并且生成最终结果(3.php)
<?php <BR>/* 生成最终结果 */ <br><br>$file = "./result.dic"; <BR>$target = "./target.dic"; <br><br>//去掉重复值 <BR>$files = file($file); <BR>$files = array_unique($files); <br><br>//判断值是不是大于6位小于16位 <BR>$sum = count($files); <BR>for ($i=0; $i<$sum; $i++) <BR>{ <BR>if (strlen($files[$i])>=6 && strlen($files[$i])<=16) { <BR> $rs[] = $files[$i]; <BR>} else { <BR> continue; <BR>} <BR>} <br><br>//写入目标文件 <BR>$result = implode("", $rs); <BR>$fp = fopen($target, "a+") or die("Open $target failed"); <BR>fwrite($fp, $result); <BR>echo 'Write succeed'; <BR>?><BR>
基本搞定手工,上面生成了 2.7W个随机用户名,呵呵,保证够你使用。