code.fastix.org

Dateiansicht:

Datei:Projekte -> PHP:randomString -> randomString.php
md5:be6cdee66f62c094c7e9471ca444a46b
sha1:5d57d91dccfd00fba08e80e16299c86140fba223
  1. <?php
  2.  
  3. /**
  4. * @Description: Erstellt einen zufälligen String. Einstellbar ist die Länge min (Default: 6), max (Default:16) und der Wertebereich des Strings (Default: 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz./).
  5. * @Author: Jörg Reinholz, fastix WebDesign & Consult, Kassel - http://www.fastix.org/
  6. **/
  7.  
  8. function randomString (
  9.     $iLengthMin  = 6,
  10.     $iLengthMax  = 16,
  11.     $sChars      = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz./'
  12. ) {
  13.  
  14.     if ( 0 == $iLengthMax or 0 == $iLengthMin) {
  15.         throw new Exception ('randomString: Es ist sinnlos, einen zufälligen String mit keinem Zeichen zu erzeugen.', 500);
  16.     }
  17.     if ( 2 > strlen($sChars )) {
  18.         throw new Exception ('randomString: Wertbereich des Zufallsstrings enthält kein oder nur ein Zeichen.', 500);
  19.     }
  20.  
  21.     if ( $iLengthMin < $iLengthMax ) {
  22.         $iLength = rand ($iLengthMin, $iLengthMax);
  23.     } elseif ( $iLengthMin > $iLengthMax ) {
  24.         $iLength = rand ( $iLengthMax, $iLengthMin );
  25.     } else {
  26.         $iLength = $iLengthMax;
  27.     }
  28.  
  29.     $iCharsMaxItem = strlen ( $sChars )-1;
  30.  
  31.     $randomString = '';
  32.     for ( $i=0; $i < $iLength; $i++ ) {
  33.         $randomString .= $sChars[ rand ( 0 ,  $iCharsMaxItem ) ];
  34.     }
  35.  
  36.     return $randomString;
  37. }
  38.  
  39.  
  40. /*
  41. ### Test:
  42. echo ($s . "\n" );
  43. for ( $i=0; $i<30; $i++ ) {
  44.     $s = randomString();
  45.     $l = strlen ( $s );
  46.     echo ( $l . "\t" . $s . "\n" );
  47. }
  48. # randomString(0,1,'A'); soll Fehler liefern.
  49. #*/
  50. ?>