000
23.11.2009, 15:45 Uhr
icestorm
|
Hallo,
ich habe mir eine Seite aufgebaut, wo man Seiten erstellen und bearbeiten kann. Das funktioniert soweit. Nur will ich natürlich auch die Möglichkeit haben, Seiten zu löschen.
Die Struktur sieht folgendermaßen aus: Es gibt in $reihenfolge die verschiedenen Seiten, die die Dateinamen der einzelnen Seiten hat. Beide Sachen liegen in $sitedir - dem Verzeichnis halt..
Ich habe jetzt die Links schon (für die Navigation) in ein Array gelesen.
Die Datei selber zu löschen habe ich jetzt schon hinbekommen. Allerdings hackt es bei dem "Pointer" in dem File $reihenfolge.
Ich habe jetzt den Ansatz (siehe Code), dass das File überschrieben wird, aber nur, sobald der URL-Parameter nicht mit dem Namen der Seite übereinstimmt.
Code: |
open(D, ">", $sitedir."/".$reihenfolge) or die "Error occured: Couldn't open Navigation-File"; foreach(@links){ if($cgi->url_param("page") ne $_){ print $_ . "<br>" . "\"" .$cgi->url_param("page") . "\"" . "<br>"; #Ausgabe fuer Debug-Zwecke print D $_ . "\n"; } } close D;
|
Meine Ausgabe die ich bekomme, weil das ne nicht anspringen will:
Zitat: |
About "Testseite" Links "Testseite" Testseite "Testseite"
|
Sprich, Testseite soll gelöscht werden, ist auch eigentlich der gleiche String, aber ne ignoriert das einfach.
Für Lösung und sonstige Vorschläge bin ich dankbar.
Ich weiß auch nciht, ob meine Methode so toll und ressourcensparend ist, ich muss aber auch sagen, dass eine Konzeptüberlegung, um mit txt-Files zu arbeiten, echt nicht so einfach ist, wie bei einer DB.
Hab das mit dem $reihenfolge File einfach gemacht (wie der Name schon sagt), dass bei der Navigation eine bestimmte Reihenfolge eingehalten wird.
Danke schonmal,
icestorm |