Katarina E.
21-04-2002, 15:00
hallo leute,
ich suche ein script, dass mir nach jeden aufrufen der seite den
inhalt einer txt datei anzeigt.
ich meine das so, in einen ordner befinden sich ca 20 txt dateien
mit ca 10 zeilen text. sie sollen ohne besondere reien folge aufgerufen werden, nach jeden neu laden der seite.
es soll so eine art zufalls text immer wechselnder text nach jeden aufrufen der seite.
würde mich sehr freuen wenn mir jemanden sagen könnte wo ich so etwas finden könnte?
vielen dank im voraus
cu katarina e.
Troublegum
21-04-2002, 15:54
Hallo, ich hab das jetzt nicht debuggt, probiers mal aus.
<?php
$dir = "./news";
$handle = opendir($dir);
while($file = readdir($handle))
{
if (!is_dir("$dir/$file") && preg_match('/\.txt$/', $file)) $files[]=$file;
}
closedir($handle);
mt_srand((double)microtime()*1000000);
$file = $files[round(mt_rand(0,(count($files)-1)))];
$inhalt = implode("",file("$dir/$file"));
echo $inhalt;
?>
Katarina E.
21-04-2002, 16:48
hallo,
danke erstmal für deine mühe. habe da mal noch eine frage, kannst mir noch erklären wie ich das script installieren muss und wo ich den pfad zu den ordner eintragen muss, wo die txt dateien liegen?
vielen danke im voraus
p.s. bitte antworten sie mir per e-mail wenn es möglich ist!!!
*DANKE* an : katarina27@gmx.de
cu katarina e.
$dir = "./files";
sagt aus: wenn das Skript im Verzeichnis a liegt, werden die Dateien im Ordner a/files gesucht.
Hast du sie im Unterverzeichnis b liegen (bzw. a/b) dann trage einfach "./b" ein.
Katarina E.
21-04-2002, 18:21
hallo,
erstmal vielen dank.
also wenn ich es jetzt richtig verstanden habe, dann muss ich
nur bei files den link eintragen zu den txt dateien.
z.b.
texte/texte.txt
bei diesen beispiel liegen die dateien im ordner texte oder?
Original geschrieben von Katarina E.
$dir = "texte/texte.txt";
bei diesen beispiel liegen die dateien im ordner texte oder?
nein, sondern im Ordner "texte/text.txt/".
willst du die Dateien im Ordner "texte", dann muß $dir = './texte" sein.
Übrigens hat der Schnipsel da oben noch ein, zwei kleine Fehler:
1 - werden auch Verzeichnisse gelesen
2 - wird keine Überprüfung auf Dateiendung vorgenommen
Wenn du die Zeile
if($file ne "." && $file ne "..") $files[]=$file;
ersetzt durch
if (!is_dir("$dir/$file") && preg_match('/\.txt$/', $file)) $files[]=$file;
dann hat sich das.
und ein Tippfehler ist auch noch drin: inplode heißt richtig implode
Katarina E.
21-04-2002, 18:36
hallo titus,
kannst du mir bitte mal das ganze script richtig aufschreiben?
also ich will die dateien die im ordner des hauptverzeichnes einlesen.
der pfad ist:
news = ordner
txt = datein
also würde er heissen news/txt
kannste es mir bitte mal so anpassen, sorry das ich es 100 mal frage aber ich habe nicht viel ahnung.
cu
Katarina E.
Troublegum
21-04-2002, 19:14
@Titus: Danke für die Korrektur :)
Ich habe den zweiten Beitrag editiert.
@Katarina E.: Also du speicherst diesen Code (den du oben findest) als
z.b. zufallstext.php im Ordner oberhalb von ./news
Wenn die Textdateien im Ordner c:/htdocs/news liegen, speichere die Datei im Ordner c:/htdocs
In der Datei trägst du dann noch den Ordner ein, in dem die Textdateien liegen, in dem Falle also "./news".
Dann startest du im Browser die Datei zufallstext.php und es sollte der Inhalt einer der Dateien erscheinen..