Mailinglisten-Archive |
> Auftrag von Kirsten Bohlig > Mein Problem: > Ruft man eine dieser Dateien aus der Liste auf, kommt man auf eine "Folgeseite". > Jetzt hätte ich gerne, dass auf dieser "zweiten" Seite nur *ein* Link angezeigt wird, nämlich der auf die Datei, die als nächstes im Verzeichnis > > > aufgelistet ist, ein eigentlich doch schlichter "Weiter"-Link also. Also, Hier ein Ansatz: Zuerst dein Ausgangsscript etwas verändert: $dir = "test"; // Verzeichnisname $verzeichnis = openDir($dir); $i = 1; // dieser zähler ist für das array while ($file = readDir($verzeichnis)) { if($file != substr_count($file,".php")) { $datei = fOpen($dir . "/" . $file, "r"); $inhalt = fRead($datei, 1000); fClose($datei); ereg("<h1>(.*)<\/h1>" , $inhalt , $extract); $files[$i] = $file; // hier erstelle ich ein array in dem die Dateiname gespeichert werden. // hier erstelle ich ein array für die Ausgabe auf der ersten Seite. // und gebe dem Link noch einen parameter (?nr=aufrufende Seitennr)mit $content[] = "<a href=\"".$dir."/" .$file . "?nr=".$i."\">$file</a>"; $i++; //hier zähle ich den zähler hoch } } closeDir($verzeichnis); ?> <html> <head></head> <body> <?php session_start(); //jetzt starten wir eine Session in der wir etwas abspeichern können. $_SESSION['seiten'] = $files; //hier schreiben wir die Datename in die Session foreach ($content as $line) //ab hier die Ausgabe auf der ersten Seite { print $line."<br>"; } ?> </body> </html> ++++++++++++++++++++++++++++++++++++++ Hier jetzt das script in der gefundene Datei: (z.b test2.php) <html> <head></head> <body> <?php session_start(); // session wieder starten $content = $_SESSION['seiten']; // array wieder aus session lesen $nr = $_GET['nr']; // parameter wieder aus url auslesen $nr_next = $nr+1; // nächste seitennr einstellen $nr_prev = $nr-1; //vorherige seitennr einstellen $next_page = $content[$nr_next]; //dateiname aus dem array lesen (nächste Datei) $prev_page = $content[$nr_prev]; //dateiname aus dem array lesen (aufrufende Datei) // hier wird dann der link zusammengebaut mit vor und zurück print "<a href=\"".$prev_page."?nr=".$nr_prev."\">vorherige Seite</a> <a href=\"".$next_page."?nr=".$nr_next."\">nächste Seite</a>"; ?> </body> </html> Soweit hab ich das getestet. Natürlich ist das noch nicht ausgereift. Du must noch das ende des array's prüfen und auch den anfang sonst geht der letzte und der erste ins leere. Und der sprung von einem ins andere Verzeichnis am Anfang...wenn du da wider ins aufrufende verzecinis willst musst du dir auch noch was einbauen. Ich hoffe es ist einigermaßen verständlich. Wenn noch Fragen: wieder schreiben. Gruß Achim
php::bar PHP Wiki - Listenarchive