Comu (21.11.2011)
Thema: [PHP] RandomString erzeugen
-
20.11.2011, 15:27 #1
[PHP] RandomString erzeugen
Hi,
die Funktion habe ich nun schon desöfteren benutzt, in Diskussion gestellt, und verbessert bis es kaum mehr ging. Es ist eine kleine aber effektive Funktion welche euch erlaubt einen zufälligen String anhand eurer vorgegebenen Zeichen zu erzeugen.
PHP-Code:<?php
function RandomString($a)
{
$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!?=()/&%$§"^*+-_~#,;.:<>';
$chars = str_split($chars);
for($i = 0; $i < $a; $i++)
{
shuffle($chars);
$return .= $chars[rand(1,$a)];
}
return $return;
}
echo RandomString(5);
?>
-
21.11.2011, 05:18 #2
- Registriert seit
- 28.10.2011
- Beiträge
- 625
Thanked 279 Times in 168 PostsAW: [PHP] RandomString erzeugen
Effektiv ist, wenn man damit etwas anfangen kann. Verbessern (Wie nachfolgend) kann man dies auch.
Warum?
Nützlich ist es, wenn Funktionen/Methoden so ausgearbeitet sind, dass man diese mehrfach verwenden kann egal ob ich nun nur "Großbuchstaben" haben möchte oder nur "Sonderzeichen mit Nummern".
Ich war mal so frei und habe es ein wenig erweitert
PHP-Code:<?php
function RandomString($length, $uppercase = true, $lowercase = true, $numbers = true, $specialchars = true) {
$chars = "";
if($numbers == true) {
$chars .= "0123456789";
}
if($uppercase == true) {
$chars .= "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
}
if($lowercase == true) {
$chars .= "abcdefghijklmnopqrstuvwxyz";
}
if($specialchars == true) {
$chars .= "!?=()/&%\$§\"^*+-_~#,;.:<>";
}
$chars = str_split($chars);
for($i = 0; $i < $length; $i++) {
shuffle($chars);
$return .= $chars[rand(1, $length)];
}
return $return;
}
print "<br />Alle: " . RandomString(5);
print "<br />Nur Großbuchstaben & Nummern: " . RandomString(5, true, false, true, false);
?>
PHP-Code:if(/* Bedingung */)
{
// Weiteres
}
PHP-Code:if(/* Bedingung */) {
// Weiteres
}
Geändert von Bubble Gum (21.11.2011 um 05:22 Uhr)
-
The Following User Says Thank You to Bubble Gum For This Useful Post:
-
21.11.2011, 07:12 #3
- Registriert seit
- 19.11.2011
- Beiträge
- 496
Thanked 412 Times in 268 PostsAW: [PHP] RandomString erzeugen
Werdet ihr alle nach Zeilen bezahlt oder warum verplmpert ihr so viele Zeilen? ^^
Die Überprüfung auf true ist nicht notwendig.
-
The Following User Says Thank You to Mr. White For This Useful Post:
Comu (21.11.2011)
-
21.11.2011, 08:06 #4
AW: [PHP] RandomString erzeugen
Ich frage mich auch immer und immer wieder warum viele sich unnützige Zeilen Code zulegen
Werdet ihr alle nach Zeilen bezahlt oder warum verplmpert ihr so viele Zeilen? ^^
Nunja, ich "persönlich" finde es einfach besser, also es sieht besser aus und ist leichter zu verstehen wenn ich die { Klammer darunter setze. Keine Ahnung warum, mit allen mit denen ich bis jetzt zusammengearbeitet habe hat sich auch noch nie einer beschwer gehabt.
-
21.11.2011, 10:40 #5
AW: [PHP] RandomString erzeugen
Lol, dann hast du noch nie anständige, große Projekte gehabt. In allen meinen Projekten mache ich es wie Comu. Bei ein paar Zeilen oder bei ein paar tausend Zeilen geht nämlich sonst die Übersicht verloren.
Schau dir mal vBulletin an, macht es übrigens genauso.
Darüber muss man aber nicht diskutieren, jeder macht es so, wie er will. Aber wenn du was veröffentlichst bitte ich dich einfach, es übersichtlich zu machen.
-
The Following User Says Thank You to Diebspiel For This Useful Post:
Comu (21.11.2011)
-
21.11.2011, 14:18 #6
AW: [PHP] RandomString erzeugen
Hab noch ne andere Methode gefunden, basierend auf der von bizzi.
PHP-Code:<?php
function RandomString($a, $upper = true, $lower = true, $numbers = true, $special = true)
{
$chars = '';
if($upper)
{
foreach(range('A','Z') as $char)
{
$chars .= $char;
}
}
if($lower)
{
foreach(range('a','z') as $char)
{
$chars .= $char;
}
}
if($numbers)
{
foreach(range('0','1') as $char)
{
$chars .= $char;
}
}
if($special)
{
$chars .= '!?=()/&%$§"^*+-_~#,;.:<>';
}
$chars = str_split($chars);
for($i = 0; $i < $a; $i++)
{
shuffle($chars);
$return .= $chars[rand(1,$a)];
}
return $return;
}
echo RandomString(5);
?>
Ähnliche Themen
-
Wasserrad zum Strom erzeugen
Von Disturbed im Forum BildungAntworten: 3Letzter Beitrag: 07.02.2012, 18:51
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.