Hallo Community,
ich wollte mal mein kleines php-Script posten, mit dem meine Signatur hier um Forum läuft
Vll. haben sich schon mal welche gefragt, ob es möglich ist, eine Signatur zu erstellen, die ein zufälliges Bilder anzeigt, wenn man die Seite lädt.
Alles was man dazu benötigt ist ein PHP-tauglicher Webspace im Internet, sei es bei irgendeinem Freehoster.
** Vorbereitung **
Zuerst fängt man an sich eine Textdatei zu erstellen. In jede Zeile fügt man den Direktink zum jeweiligen Bild ein, welches später in der Signatur angezeigt werden kann. Diese datei speichert man dann als z.B "sigs.txt" ab. Diesen Namen solltet ihr beibehalten, da ihr den gleich noch braucht.
Ein Beispiel für die Text-Datei findest du unter dem fertigen Script.
** Der Code **
Ihr erstellt eine Datei z.b mit dem Namen "random.php"
Am besten könnt ihr die Datei in einem Editor wie Notepad bearbeiten.
Um die Datei in php auszulesen benötigt ihr die Funktion file().
Dieses speichert man dann in eine Variable wie hier:
Da die Ausgabe von file() in einem Array erfolgt geben wir nun wie folgt das Array mit der Array-Schleife foreach() aus:
In der letzten Zeile wird somit gleich überprüft, ob am Anfang der Zeile (Strings) das Zeichen '#' steht. Wenn das zutrifft wird $i nicht um eins erhöht und der aktuelle Key von $im überschrieben.
Dies finde ich ist nützlich, wenn man Zeilen auslassen möchte bzw. auskommetieren möchte innerhalb der Text-Datei.
Danach wird das zufällige Bild ermittelt, das ausgegeben werden soll:
$i ist hierbei der Key des letzten Wertes des Arrays $im. Da er beim letzten Durchlauf der Schleife nochmal um eins erhöht wird wird er einfach um 1 subtrahiert.
Die Funktion rand() macht somit nichts anderes als einen zufälligen Wert zwischen der ersten und zweiten Zahl auszugeben.
Den Wert zum dazugehörigem Key speichern wir dann in einer einfachen Variable:
Im Folgenden kürzen wir den Link (String) nochmal um 1 Zeichen, wenn es nicht die letzte Zeile in der Textdatei ist, da im String der Zeilenumbruch hinten noch auftaucht, den wir entfernen müssen, da er das Bild sonst später nicht findet.
Zum Schluss leiten wir den Browser noch auf das Bild um, indem wir Informationen an den header senden.
** Fertiges Script **
Ein Beispiel für die Text-Datei könnte sein:
Die zweite Zeile wird in diesem Fall ignoriert/auskommentiert.
Nachdem ihr es via FTP o.ä. hochgeladen habt, könnt ihr das ganze im Forum via bbCodes z.b mit
oder in HTML mit
einbinden.
Natürlich müsst ihr eure Domain/Subdomain nehmen, die auf euren Webspace verleitet mit dem jeweiligen Dateinamen der PHP-Datei und eventuellem Pfad.
Anmerkung:
Ich weiß, es ist zwar kein schwieriges und langes Script, aber für php-Anfänger, die eine "etwas andere" Signatur wollen durchaus nützlich. Dafür habe ich es auch etwas ausführlicher erklärt.
MfG, SunRed
ich wollte mal mein kleines php-Script posten, mit dem meine Signatur hier um Forum läuft
Vll. haben sich schon mal welche gefragt, ob es möglich ist, eine Signatur zu erstellen, die ein zufälliges Bilder anzeigt, wenn man die Seite lädt.
Alles was man dazu benötigt ist ein PHP-tauglicher Webspace im Internet, sei es bei irgendeinem Freehoster.
** Vorbereitung **
Zuerst fängt man an sich eine Textdatei zu erstellen. In jede Zeile fügt man den Direktink zum jeweiligen Bild ein, welches später in der Signatur angezeigt werden kann. Diese datei speichert man dann als z.B "sigs.txt" ab. Diesen Namen solltet ihr beibehalten, da ihr den gleich noch braucht.
Ein Beispiel für die Text-Datei findest du unter dem fertigen Script.
** Der Code **
Ihr erstellt eine Datei z.b mit dem Namen "random.php"
Am besten könnt ihr die Datei in einem Editor wie Notepad bearbeiten.
Um die Datei in php auszulesen benötigt ihr die Funktion file().
Dieses speichert man dann in eine Variable wie hier:
PHP Code:
$file = file('sigs.txt'); // die sigs.txt (Wo eure Bilder drinne sind) liegt im selbem Ordner wie die random.php
Da die Ausgabe von file() in einem Array erfolgt geben wir nun wie folgt das Array mit der Array-Schleife foreach() aus:
PHP Code:
$i = 0;
foreach($file as $f) {
$im[$i] = $f;
if(substr($f, 0, 1) != '#') $i += 1;
}
Dies finde ich ist nützlich, wenn man Zeilen auslassen möchte bzw. auskommetieren möchte innerhalb der Text-Datei.
Danach wird das zufällige Bild ermittelt, das ausgegeben werden soll:
PHP Code:
$r = rand(0, ($i-1));
Die Funktion rand() macht somit nichts anderes als einen zufälligen Wert zwischen der ersten und zweiten Zahl auszugeben.
Den Wert zum dazugehörigem Key speichern wir dann in einer einfachen Variable:
PHP Code:
$pic = $im[$r];
Im Folgenden kürzen wir den Link (String) nochmal um 1 Zeichen, wenn es nicht die letzte Zeile in der Textdatei ist, da im String der Zeilenumbruch hinten noch auftaucht, den wir entfernen müssen, da er das Bild sonst später nicht findet.
PHP Code:
if($pic != end($im)) $pic = substr($pic, 0, -1);
Zum Schluss leiten wir den Browser noch auf das Bild um, indem wir Informationen an den header senden.
PHP Code:
header('Location: '.$pic);
** Fertiges Script **
PHP Code:
<?php
$file = file('sigs.txt');
$i = 0;
foreach($file as $f) {
$im[$i] = $f;
if(substr($f, 0, 1) != '#') $i += 1;
}
$r = rand(0, ($i-1));
$pic = $im[$r];
if($pic != end($im)) $pic = substr($pic, 0, -1);
header('Location: '.$pic);
?>
Ein Beispiel für die Text-Datei könnte sein:
Code:
http://www.imgbox.de/users/SunRed/Pics/born_yes.gif
#http://chzmemebase.files.wordpress.com/2011/07/memes-just-another-day.gif
http://i.chzbgr.com/completestore/2011/7/14/f0bc47e6-c8fc-4f9e-9da4-97176343c2ff.gif
http://gifs.gifbin.com/082012/1346345872_saved_skat_jump_fail.gif
http://gifs.gifbin.com/042011/1303149519_turtle-bites-cat.gif
Die zweite Zeile wird in diesem Fall ignoriert/auskommentiert.
Nachdem ihr es via FTP o.ä. hochgeladen habt, könnt ihr das ganze im Forum via bbCodes z.b mit
Code:
[img]http://deinedomain.de/random.php[/img]
Code:
<img src="http://deinedomain.de/random.php">
Natürlich müsst ihr eure Domain/Subdomain nehmen, die auf euren Webspace verleitet mit dem jeweiligen Dateinamen der PHP-Datei und eventuellem Pfad.
Anmerkung:
Ich weiß, es ist zwar kein schwieriges und langes Script, aber für php-Anfänger, die eine "etwas andere" Signatur wollen durchaus nützlich. Dafür habe ich es auch etwas ausführlicher erklärt.
MfG, SunRed