Mailinglisten-Archive |
Hallo Achim, hallo Yannik, hallo an die anderen, danke erstmal, ich komme weiter, lese interessiert im Handbuch und entdecke Neues! Das ist aus Euren gesammelten Anregungen bisher rausgekommen: Verzeichnis und h2 als Linktext auslesen und die vorwärts-/rückwärts-Links auf den Folgeseiten (die aber noch endlos, siehe unten...). (Ich habe die ein oder andere Variable umbenennen müssen: "$content" ist bereits belegt, die Dateien sind in einem Konstrukt mit includes usw. abgelegt -> es gibt so gut wie kein "echo", kein "return".) (Sorry, wenn der Code hier doof aussieht (das kann man sicher besser machen?!)) ### in einer index-Datei ### $dir = "xy"; $verzeichnis = openDir($dir); $i = 1; while ($file = readDir($verzeichnis)) { if ($file != "." && $file != ".." && $file != "index.php") { if (substr_compare($file, ".php", -4, 4,true)==0) { $datei = fopen($dir . "/" . $file, "r"); $inhalt = fread($datei, 2000); fclose($datei); $files[$i] = $file; $h2pos = strpos($inhalt,'<h2>'); $titel = substr($inhalt, $h2pos+4, strpos($inhalt,'</h2>',$h2pos)-4-$h2pos); // das ist nicht ganz korrekt mit dem rawurlencode // $links[] = "<a href=\"".rawurlencode($dir."/" .$file )."?nr=".$i."\">[".$i."] ".htmlspecialchars($titel)."</a>"; // weil: der slash wird mit %2F ersetzt // und dann so kein Link mehr gehen kann // das geht: $links[] = "<a href=\"".rawurlencode($dir)."/" .rawurlencode($file) ."?nr=".$i."\">[".$i."] ".htmlspecialchars($titel)."</a>\n"; $i++; } } } closeDir($verzeichnis); session_start(); $_SESSION['seiten'] = $files; ### auf einer Folgeseite: ### session_start(); $links = $_SESSION['seiten']; $nr = $_GET['nr']; $nr_next = $nr+1; $nr_prev = $nr-1; $next_page = $links[$nr_next]; $prev_page = $links[$nr_prev]; (...) $content .= "\n <a href=\"".$prev_page."?nr=".$nr_prev."\">vorherige Seite</a> \n <a href=\"".$next_page."?nr=".$nr_next."\">nächste Seite</a>"; ### Sehr schön, das hat mich schon viel weiter gebracht: Danke für die guten, ausführlichen und verständlichen Ausführungen. Hab ich's halbwegs ordentlich/richtig umgesetzt? Bleibt aber, wie wohl zu befürchten war, die Sache mit dem Anfang und dem Ende des arrays. Wie prüfe ich das? Ich krieg's nicht hin. Wohin mit sowas, wie Sebastian es vorgeschlagen hat? Und überhaupt: Funktioniert das Ganze denn, wenn man nicht mit der Index-Seite in das Verzeichnis einsteigt? Danke im Voraus für Eure weitere Unterstützung! @Norbert: Danke für Dein Angebot und den Link auf Deine Sammlungen. Ich habe nicht mit objektorientierten php-Sachen angefangen, manchmal scheint sogar mir ;-) das klar zu sein, manchmal gar nicht... Ich schau mir das gerne mal näher an, wollte aber erstmal diese Sachen ausprobieren. (Ich hoffe ich bin im "Marketing" besser als im Programmieren ;-) Grüße (muss in aller Hektik weg) Kirsten
php::bar PHP Wiki - Listenarchive