php语言 百分网手机站

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

时间:2020-08-07 13:40:57 php语言 我要投稿

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

  使用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("/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);

  }

  ?>

  程序二:负责把上面生成的'数个文件的结果合并。(2.php)

  复制代码 代码如下:

  <?php

  /* 合并所有生成结果 jb51.net*/

  $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';

  ?>

【使用PHP批量生成随机用户名】相关文章:

php怎么生成随机密码09-29

PHP生成随机密码的方法09-03

php生成随机密码的4种方法09-02

如何使用PHP生成唯一ID之SnowFlake09-04

PHP中的随机性09-18

如何使用PHP框架09-15

PHP生成Excel报表的方法09-08

PHP生成树的方法介绍08-24

PHP产生不重复随机数的方法09-03

PHP语言的使用特性09-15