当前位置:Gxlcms > PHP教程 > 用于批量生成随机用户名的php程序

用于批量生成随机用户名的php程序

时间:2021-07-01 10:21:17 帮助过:19人阅读

  1. /* 从字典文件中提取随机值 */

  2. $file1 = "./Words.dic";
  3. $file2 = "./common_pass_mini.dic";
  4. $file3 = "./Sys_Month_Date.Dic";
  5. $rfile = "./5.dic";
  6. $n = 2000;

  7. //提取字典

  8. $basef = file($file1);
  9. $extf = file($file2);
  10. $extf2 = file($file3);
  11. $bf_sum = (count($basef)-1);
  12. $ef_sum = (count($extf)-1);
  13. $ef2_sum =(count($extf2)-1);

  14. //获取随机用户名

  15. for ($i=0; $i<$n; $i++)
  16. {
  17. $bn = crand(0, $bf_sum);
  18. $en = crand(0, $ef_sum);
  19. $en2 = crand(0, $ef2_sum);
  20. $name = $basef[$bn]."_".$extf[$en];
  21. $name = str_replace("/r/n", "", $name);
  22. $all_name[] = $name;
  23. }

  24. //写入文件

  25. $result = implode("/r/n", $all_name);
  26. $fp = fopen($rfile, "a+") or die('Open $rfile failed');
  27. if (fwrite($fp, $result)) {
  28. echo 'Write user succeed!';
  29. } else {
  30. echo 'Write user failed';
  31. }

  32. //生成随机数字函数

  33. function crand($start, $end)
  34. {
  35. return mt_rand($start, $end);
  36. }
  37. ?>

2、合并以上生成的数个文件结果

  1. /* 合并所有生成结果 jbxue.com*/

  2. $result_file = "./result.dic";

  3. $fp = fopen($result_file, "a+") or die("Open $result_file failed");

  4. //合并 1.dic ~ 5.dic

  5. for ($i=1; $i<=5; $i++)
  6. {
  7. $cur_file = file_get_contents($i.".dic");
  8. fwrite($fp, $cur_file);
  9. }

  10. //合并 10.dic ~ 11.dic

  11. for ($i=10; $i<=11; $i++)
  12. {
  13. $cur_file = file_get_contents($i.".dic");
  14. fwrite($fp, $cur_file);
  15. }
  16. fclose($fp);
  17. echo 'Write Succeed';
  18. ?>

3、过滤重复值和不属于 6~16 之间的值,并生成最终可用数据

  1. /* 生成最终结果 */

  2. $file = "./result.dic";

  3. $target = "./target.dic";

  4. //去掉重复值

  5. $files = file($file);
  6. $files = array_unique($files);

  7. //判断值是不是大于6位小于16位

  8. $sum = count($files);
  9. for ($i=0; $i<$sum; $i++)
  10. {
  11. if (strlen($files[$i])>=6 && strlen($files[$i])<=16) {
  12. $rs[] = $files[$i];
  13. } else {
  14. continue;
  15. }
  16. }

  17. //写入目标文件

  18. $result = implode("", $rs);
  19. $fp = fopen($target, "a+") or die("Open $target failed");
  20. fwrite($fp, $result);
  21. echo 'Write succeed';
  22. ?>

人气教程排行