Hello Dennis,
hello Forum,
Ja. Man muss vielleicht gelegentlich die älteren Beiträge ins Archiv schicken, damit die Datei nicht größer als ca. 2MB wird.
Auf einer Privat-Seite müsste es doch reichen, jeden Monat als eine Datei zu archivieren, oder?
Du sprachst doch von ca. 240 Beiträgen im Jahr. Die würden mit ca. 1.000 Byte Beitrag zuzüglich Bildern (werden nur die Referenzen in der Haupt-Datei gespeichert) und 100 Bytes Verwaltungsinformatiion und vielleicht im Mittel 200 Bytes Stellungnahme des Guestbook-Admins --> 1.400 Bytes pro Beitrag ergeben --> 336kBytes im Jahr! Es würde also vollkommen reichen, jeweils den 13. Monat ins Archiv zu verfrachten. Die Archivierungs-Push-Funktion sollte unabhängig von der Save-Funktion sein, also entschichtet. Dann kann man dynamsich entscheiden, ob nun immer der 13. Monat oder dr 6. Monat verschobenn wird und ob das Archiv auf der anderen Seite jährlich, halbjährlich, vierteljährlich oder monatlich oder, oder oder organisiert werden muss. Also immer hübsch Input-Trigger und Output-Handler der Funktionen trennen.
Da hätte ich dann nochmal eine Frage; Was hälst du für besser?
a) So hab ich das auch schon mal ausprobiert, die entsprechenden Dateien werden, wenn sie alt sind verschoben und nach Ordner Jahr/Dateiname Monat abgelegt.
Dann gibt es ein PHP Script, welches mit index.php?jahr=xxx&monat=xx aufgerufen werden kann, welches die Datein einliest und ausgibt. Sind keine GET Variablen dran, listet es alle vorhandenen Jahre auf, bei Klick auf Jahr die Monate.
b) Wenn eine Datei fällig fürs achiv ist, wird eine .html Datei erzeugt, wo der Code dann richtig reingeschrieben wird. Über Links von der index.php im Archiv kann man dann zu allen Monaten gelangen.
Eventuell auflistung von Jahren wie oben, ansonsten manuell.
Siehe oben. Wenn du sie EVA-Regel einhältst (auch wenn die aus dem Museum stammt), kann dir eigentlich nicht viel Böses widerfahren Und dann ist das auch schon mal einen "SelfHTML Creativ" wert.
Du könntst sie ja mit ".aol" kennzeichen *gg* für "Array Organized List".
Man sollte das leben halt mit Humor angehen ;-)
Nur!
[...]
Oder käme es dann trotzdem zu Problemen, wenn ich gerade auslese, und ein anderer schreiben will?
In einer "Nur Ausgabe Datei" darf niemand schreiben. Das "Nur Ausgabe" bezieht sich dann auf die "OnTime". In der "OffTime" kann ein Einzelnutzer damit machen, was er will.
[...]
Darum trimmt man sie ja vor der Freigabe mit ftruncate().
Achso, da müsste man dann ftruncate(filesize()) verwenden, oder was verwendet man am besten, um die Länge der Datei herauszufinden?
Nein.
$_filedata = serialize($_supermonsterarray);
...
$trunc_ok = ftruncate($fh, strlen($filedata));
denn filesize() wäre ja die aktuelle Dateigröße. Das wäre aber der alte allokierte Filespace VOR dem truncate(). Das könntest Du Dir also damit schenken, denn "$len = $len" kann man sich auch schenken.
[...sperren...]
Das habe ich jetzt noch nicht ganz verstanden. _Weshalb_ braucht man dann eine Hilfsdatei?
Bitte die Frage in die Liste aufnehmen. Die Antwort dauert länger.
Die allgemeinen Dinge sollten wir ruhig hier diskutieren. Es wird ja nichts Geheimes werden.
Hm, es gibt nur so Leute, die sich immer beschweren, dass das Forum für den häufigen/anhaltenden Nachrichtenaustausch nicht gedacht ist (was ja auch stimmt).
Solange das vorangeht, wird sich niemand zu Recht beschweren. Und die "Zensur" ggen Nörgler und Destrukteusen ist ja in der letzten Zeit auch schaärfer geworden. Ich ´sehe da keine Gefahr. Schließlich kan und soll jede(r) InteressentIn seine Fragen und Anregungen dazu beitragen. Starke Thread-Drift wäre dann alllerdings wirklich lästig.
Und wenn dieser Thread dann hier weg ist, dann muss man halt immer wieder einen neuen aufmachen.
Der wird aber nicht weg sein, solange wir einen konstruktiven Dialog führen.
Aber du willst doch das mit dem SafeMode auch als Feature Artikel reinbringen, oder? Dann musst du das ja noch alles in HTML-Form bringen. Oder willst du das als .doc Dokumentation ins Netzt stellen?
Ich werde da protieren, wenn es soweit fertig sit. Ist nur Gewohnheitssache. Ich habe bisher zu ca. 60 Themen insgesamt ca 7.000 Kapitel (a 30 Siten im Mittel) mit Word erstellt. Da stellt man nicht plötzlich um auf Tech, genauso wie andersherum.
Für die Entwicklung eines dynamischen Handbuches muss man dann aber bestimmt auch einredaktionssytem anpassen oder entwickeln.
Eigentlich dürfte das ja nicht so schwer sein, so könnte man vielleicht bei einem Gästebuch den Aubau des Arrays machen:
$riesengroßes_Supperarray
[ID des Postings]
[Angaben des Besuchers]
[Name] => ...
[E-Mail] => ...
[Homepage] => ...
[Ort] => ...
[Einträge des Besuchers]
[datum] => ...
[zeit] => ...
[eintrag] => ...
Hab ich da noch irgendwas wichtiges vergessen, was man ein Besucher eigeben können sollte?
Wenn Du etwas vergessen hättest, wäre das bei assoziativen Arrays nicht schlimm. Man könnte das Feld (Subarray) später erweitern. Das Script dazu muss natürlich auch angepasst werden. Aber es wäre i.d.R. abwärtskompatibel. Ein neues Script könnte auch deine alten Archive lesen, ohne sie konvertieren zu müssen.
Beim Schreiben müsste man erst count($riesengroßes_Superarray) machen, und dann die nächsthöhere ID nehmen und den Eintrag erzeugen. Dann schließlich ist Gästebuch schreiben.
Ich würde da einen Schritt weitergehen und einen Meta-Record vorschalten über die Datei. Da steht dann auch die letzte vergebene ID drin. So wäre es leicht möglich, Sätze zu löschen, ohne mit der ID durcheinander zu kommen.
Das Lesen wird sicher auch ein eigenes Kapitel beötigen, da ja "seitenweise" schon ein wesentliches Thema ist. Mir fällt noch ein dazu "Leserechte des Benutzers"
Jetzt noch mal von meinem Gästebuch weg, zu deinem Feature Artikel über Speichern in Flatfiles:
Was hast du denn bis jetzt schon dazu alles? Hast du schon Texte geschrieben? Was beabsichtigst du da eigentlich so zu schreiben? Willst du es anhand eines Beispiels erklären, wenn ja an welchem?
Ich ahe viele Ideen im Kopf und auf Papier und im Rechner dazu. Wenn ich die hier jetzt aber so zwischendurch strukturiert auflisten sollte, wäre schon wieder eine Woche weg. Ich muss das erst sichten und sortieren.
Du könntest aber Deine Sicht der Problematik und Lösungsansätze mit heutigem Timestamp schon mal aufschreiben. Du wirst diese Erkenntnisse (über dich, die sind ja auch in Grenzen verallgemeinerbar) später nur schwer nachvollziehen können.
Sonst könnte ich eventuell ja noch ein Beispielscript als Ergänzung zu deinem Feature-Artikel schreiben, wo ich dann z.B. ein Gästebuch auf PHP Basis nehmen würde.
Ja. Erstmal einkleines einfaches. Dann die Gedanken dazu notien und ausarbeiten, dann ein komplexeres, dann wiede die Gedanken dazu, usw. So entsteht ein gutes Tutorial. man darf am Anfang auch ruhig Fehler drin ahben, muss den Leuten nur sagen, dass das schon ganz nett ist, aber nicht für den Produktivbetrieb geeignet.
Liebe Grüße aus http://www.braunschweig.de
Tom
--
[ Computer-Camp für PHP-Anwender in den Sommerferien. Programmieren,
Sport, Fun, Fete. Teilnehmermindestalter Gruppe 1: 14 Jahre
Mindestalter Gruppe 2+3 18 Jahre, Info bei mir ]
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen