랜덤으로 원하는길이 만큼 출력하기(숫자,영어,특수문자,한글) > 그누보드5 팁자료실

그누보드5 팁자료실

랜덤으로 원하는길이 만큼 출력하기(숫자,영어,특수문자,한글) 정보

랜덤으로 원하는길이 만큼 출력하기(숫자,영어,특수문자,한글)

본문

function random($length, $chars='0123456789') {
  $hash = '';
//  $max = strlen($chars) - 1;
  preg_match_all("/./u", $chars, $arr);
  $max = count($arr[0])-1;
  $chars2 = $arr[0];
  for($i = 0; $i < $length; $i++) {
    $hash .= $chars2[mt_rand(0, $max)];
  }
  return $hash;
}
$chars[] = '0123456789';
$chars[] = 'abcdefghijklmnopqrstuvwxyz';
$chars[] = '!@#$%^&*()_+-=~`{}[]|\:;<>,.?/\'"';
$chars[] = 'ㄱㄴㄷㄹㅁㅂㅅㅇㅈㅊㅋㅌㅍㅎㅏㅑㅓㅕㅗㅛㅜㅠㅡㅣ';
$str_chars = implode('',$chars);

사용방법은 아래와같이 하시면 됩니다.
echo random(원하는길이, $str_chars);

10자리를 출력할경우 (숫자, 영어, 특수문자, 한글)
echo random(10, $str_chars);

숫자만 출력할경우
//$chars[] = 'abcdefghijklmnopqrstuvwxyz';
//$chars[] = '!@#$%^&*()_+-=~`{}[]|\:;<>,.?/\'"';
//$chars[] = 'ㄱㄴㄷㄹㅁㅂㅅㅇㅈㅊㅋㅌㅍㅎㅏㅑㅓㅕㅗㅛㅜㅠㅡㅣ';

위에부분을 주석처리하시면 됩니다. 영어만 원하시면 $chars[]이 영어가 아닌 부분을 주석처리하여 주심 됩니다.
echo random(10, $str_chars);

md5로 하실경우
echo md5(random(10, $str_chars));

혹시 필요할분 있나 해서 함 올려옵니다. 랜덤 비밀번호나 ,랜덤으로 파일 이름 저장이나 뭐 , 그거말고 딱히 어디에 써먹어야 될지 ,

또 어느부분에 랜덤방식이 들어갈수 있을지도 궁금하고 , 댓글로 알려주심 감사하겠습니다 ~
추천
1
  • 복사

댓글 0개

© SIRSOFT
현재 페이지 제일 처음으로