Advertisement
Redee

scetch > func_rand_str.php

Jun 17th, 2013
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.14 KB | None | 0 0
  1. <?
  2. function RandomString($length)
  3. {
  4.     $lower = 'abcdefghijklmnoprstuvwxyz';
  5.     $upper = strtoupper($lower);
  6.     $numbers = '1234567890';
  7.     $spec_chars = './././././././';
  8.     // abcdefghijklmnoprstuvwxyzABCDEFGHIJKLMNOPRSTUVWXYZ1234567890./././././././
  9.     $chars = $lower.$upper.$numbers.$spec_chars;
  10.     $chars_max_index = strlen($chars) - 1;
  11.  
  12.     $string = '';
  13.  
  14.     // опасно - нельзя автоинкремент счетчика с проверкой знаков, делаем изменение счетчика через длину строки
  15.     for ($i = 0; $i < $length; $i = strlen($string))
  16.     {
  17.         // выбираем случайный элемент из строки с допустимыми символами
  18.         $random = $chars{rand(0, $chars_max_index)};
  19.         // присоединяет к строке случайный символ если он не равен предыдущему, в противном случае ничего не произойдет и $string будет тот же
  20.         if ($random != $string{strlen($string) - 1})
  21.             $string .= $random;
  22.     }
  23.     // возвращаем результат
  24.     return $string;
  25. }
  26. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement