Hi allerseits,
suche ein Script, welches nach dem zufallsprinzip zeilen aus einer textdatei ausliest, soll auf einer seite als spruch des tages dargestellt werden
jahlives
01-11-2006, 18:39
Also das haste in gut 2 min selber geschrieben. Nehmen wir mal an du hast pro Zeile einen weisen Spruch dann liest du die Datei mittels
$sprueche = file('spruch.txt');
in ein Array ein. Dann kannst du das ganze mittels
shuffle($sprueche);
zufällig sortieren und den Spruch des Tages einfach mittels
echo $sprueche[0];
anzeigen lassen.
Gruss
tobi
danke hat genau so geklappt :)
Dumm dass das kein "Spruch des Tages" ist, sondern ein "Spruch des Momentes". Aber ...
jahlives
02-11-2006, 16:45
@TobiaZ
Stimmt der Spruch ändert sich mit grösster Wahscheinlichkeit bei jedem Seitenaufruf. Habe ich gar ned bedacht :D
@topicstarter
Lies in diesem Falle das File nur in ein Array und mische nicht mit shuffle(). Dann ziehst du einmalig pro Tag eine Zufallszahl zwischen 0 und count($array) -1 . Dies ist dann die Zeile die angezeigt werden soll. Diese Zahl musst du nun irgendwie speichern, zusammen mit einem timestamp bis zu welchem diese Zahl gültig sein soll (sprich z.B. Mitternacht). Wenn die aktuelle Zeit über diesem Stamp liegt, dann musst du wieder einen Spruch zufällig auswählen und die Zahl und den neuen Stamp in die Datei oder DB schreiben.
Ich würde das in der Form wie z.B.
54;678347832
wobei 54 die Spruchnummer ist und die zweite Zahl der Stamp bis zu welchem diese Zahl gültig sein soll.
Gruss
tobi
geht auch einfacher - einfach den zufallszahlengenerator mit dem tag des jahres initialisieren.
srand(date('z'));
echo 'Spruch des Tages: '.$sprueche[rand(0, count($sprueche)-1)];
edit: oder besser srand(date('zY')); sonst wiederholen sich ja die sprüche jährlich ;)
jahlives
02-11-2006, 17:53
@Max
Ne schlanke saubere Lösung :grin:
Gruss
tobi