Heute geht es nicht mehr um Bilder, sondern darum, wie man mit PHP eine Zufallszahl generieren kann. Im Grunde genommen ist es ganz einfach. Man definiert alle möglichen Zeichen und schreibt diese als String in eine Variable. Danach läuft man durch eine for-Schleife und holt sich bei jedem Durchlauf ein zufälliges Zeichen, aus dem vorher definierten String, und setzt diese hintereinander.
<?php
function random_string($length=50) {
$characters = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$characters_length = strlen($characters) - 1;
$rand = '';
for ($i = 0; $i < $length; $i++) {
$rand .= $characters[mt_rand(0, $characters_length)];
}
return $rand;
}
echo random_string();
echo '<br />';
echo random_string(6);
?>
Die passende Ausgabe dazu:
UsWtk5LXndpFB2ibeojVwVMLxPQCUSg0vsLLu4t4s0ORyrlEpe BnUdVE
Die Funktion random_string kann wahlweise mit oder ohne Parameter aufgerufen werden. Wenn sie ohne Parameter aufgerufen wird, ist die Länge ($length) 50.
Vielleicht noch eine Erklärung zu Zeile 8. Wenn man einen String definiert hat, wie z.B. $characters, dann kann man mit einem Index auf jedes Zeichen einzeln zugreifen. Das erste Zeichen hat den Index 0.
Ein Beispiel zu Veranschaulichung:
<?php
$characters = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
echo $characters[0];
echo '<br />';
$length = strlen($characters) - 1;
echo $characters[$length];
?>
Ergibt:
1 Z
Zum Schluss noch dies: In der Schleife wird nicht rand() für die Generierung einer Zufallszahl verwendet, sondern mt_rand(). Diese erzeugt laut offiziellen Angaben bessere Zufallszahlen.