欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-04-08 16:20:56
...
  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{
  16. $bn = crand(0, $bf_sum);
  17. $en = crand(0, $ef_sum);
  18. $en2 = crand(0, $ef2_sum);
  19. $name = $basef[$bn]."_".$extf[$en];
  20. $name = str_replace("/r/n", "", $name);
  21. $all_name[] = $name;
  22. }
  23. //写入文件

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

  32. function crand($start, $end)
  33. {
  34. return mt_rand($start, $end);
  35. }
  36. ?>
复制代码

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{
  6. $cur_file = file_get_contents($i.".dic");
  7. fwrite($fp, $cur_file);
  8. }
  9. //合并 10.dic ~ 11.dic

  10. for ($i=10; $i{
  11. $cur_file = file_get_contents($i.".dic");
  12. fwrite($fp, $cur_file);
  13. }
  14. fclose($fp);
  15. echo 'Write Succeed';
  16. ?>
复制代码

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{
  10. if (strlen($files[$i])>=6 && strlen($files[$i])$rs[] = $files[$i];
  11. } else {
  12. continue;
  13. }
  14. }
  15. //写入目标文件

  16. $result = implode("", $rs);
  17. $fp = fopen($target, "a+") or die("Open $target failed");
  18. fwrite($fp, $result);
  19. echo 'Write succeed';
  20. ?>
复制代码