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