Use PHP to batch generate random usernames_PHP Tutorial

WBOY
Release: 2016-07-21 15:51:13
Original
846 people have browsed it

Program 1: Responsible for randomly extracting data from the dictionary and writing it to a new file. (1.php)

Copy code The code is as follows:

/* From the dictionary file Extract random values ​​*/

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

//Extract dictionary
$basef = file($file1);
$extf = file($file2);
$extf2 = file($file3);
$bf_sum = (count($basef)-1);
$ef_sum = (count($extf)-1);
$ef2_sum =(count($extf2)-1);

//Get a random username
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;
}

//Write to file
$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 ';
}

//Generate random number function
function crand($start, $end)
{
return mt_rand($start, $end);
}
?>

Program 2: Responsible for merging the results of several files generated above. (2.php)
Copy code The code is as follows:

/* Combine all generated results jb51.net*/

$result_file = "./result.dic";

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

//Merge 1.dic ~ 5.dic
for ($i=1; $i<=5; $i++)
{
$cur_file = file_get_contents($i .".dic");
fwrite($fp, $cur_file);
}

//Merge 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';

?>

Program 3: Responsible for filtering duplicate values ​​and values ​​that do not fall between 6~16 and generate Final result (3.php)
Copy code The code is as follows:

/* Generate final Result */

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

//Remove duplicate values
$files = file($file);
$files = array_unique($files);

//Judge whether the value is greater than 6 digits and less than 16 digits
$sum = count($files);
for ($i=0; $i<$sum; $i++)
{
if (strlen($files[$i])>=6 && strlen($files[$i]) <=16) {
$rs[] = $files[$i];
} else {
continue;
}
}

//Write Target file
$result = implode("", $rs);
$fp = fopen($target, "a+") or die("Open $target failed");
fwrite($fp , $result);
echo 'Write succeed';
?>

Basically done manually, 2.7W random usernames are generated above, haha, it is guaranteed to be enough for you.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/319232.htmlTechArticleProgram 1: Responsible for randomly extracting data from the dictionary and writing it to a new file. (1.php) Copy the code as follows: ?php /*Extract random values ​​from the dictionary file*/ $file1="./Words.dic"; $f...
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!