주로 텍스트 작업으로 여러 개의 6~16자리 사용자 이름을 생성합니다. 전제 조건은 문자열 패키지를 갖는 것입니다. 그것은 주로 세 가지 절차로 구성됩니다.
프로그램 1: 사전에서 데이터를 무작위로 추출하여 새 파일에 쓰는 역할을 담당합니다. (1.php)
<?php
/* 사전 파일에서 임의의 값 추출*/
$file1 = "./Words.dic";
$file2 = "./common_pass_mini.dic";
$file3 = "./Sys_Month_Date.Dic";
$rfile = "./5.dic";
$n = 2000;
//사전 추출
$basef = 파일($file1);
$extf = 파일($file2);
$extf2 = 파일($file3);
$bf_sum = (count($basef)-1);
$ef_sum = (count($extf)-1);
$ef2_sum =(count($extf2)-1);
//임의의 사용자 이름 가져오기
($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("rn", "", $name);
$all_name[] = $이름;
}
//파일에 쓰기
$result = implode("rn", $all_name);
$fp = fopen($rfile, "a+") 또는 die('$rfile 열기 실패');
if (fwrite($fp, $result)) {
echo '사용자 쓰기 성공!';
} 또 다른 {
echo '사용자 쓰기 실패';
}
//난수 함수 생성
함수 crand($start, $end)
{
mt_rand($start, $end)를 반환합니다.
}
?>
프로그램 2: 위에서 생성된 여러 파일의 결과를 병합하는 역할을 담당합니다. (2.php)
<?php
/* 생성된 모든 결과 병합 Knowsky.com*/
$result_file = "./result.dic";
$fp = fopen($result_file, "a+") or die("Open $result_file failed")
//병합 1. 딕 ~ 5.딕
($i=1; $i<=5; $i++)
{
$cur_file = file_get_contents($i.".dic");
fwrite($fp, $cur_file);
}
//10.dic ~ 11.dic 병합
($i=10; $i<=11; $i++)
{
$cur_file = file_get_contents($i.".dic");
fwrite($fp, $cur_file);
}
fclose($fp);
echo '쓰기 성공'
?>
프로그램 3: 중복된 값과 6~16 사이에 속하지 않는 값을 필터링하고 최종 결과를 생성하는 역할(3.php)
<?php
/* 최종 결과 생성*/
$file = "./result.dic";
$target = "./target.dic";
//중복값 제거
$파일 = 파일($file);
$files = array_unique($files);
//값이 6자리보다 크고 16자리보다 작은지 판단합니다.
$sum = 개수($files);
($i=0; $i<$sum; $i++)
{
if (strlen($files[$i])>=6 && strlen($files[$i])<=16) {
$rs[] = $파일[$i];
} 또 다른 {
계속하다;
}
}
//대상 파일에 쓰기
$result = implode("", $rs);
$fp = fopen($target, "a+") 또는 die("$target 열기 실패");
fwrite($fp, $result);
echo '쓰기 성공'
?>
기본적으로 수동으로 수행되며 위에서 2.7W의 무작위 사용자 이름이 생성됩니다. 하하, 충분하다고 보장됩니다.