Zitat:
|
aber google und die Suchfunktion des Boards hab ich artig genutzt bevor ich den Beitrag erstellt habe
|
Das ist schonmal Super, jetzt noch schnell dein Posting an die Regeln angepasst und alles ist stimmig.
http://www.php-resource.de/forum/sho...threadid=50454
Zitat:
|
schliesslich funzt das Script weitesgehend im Vergleich zum Tutorial das hier gespeichert ist.
|
Ich kenne das Tut gerade nicht, aber das ist sicherlich reichlich veraltet. Ist nichts neues, die Prinzipien sollten aber noch stimmen.
Zitat:
|
Anstatt nun wie bei "r+" gewünscht das neue an den Anfang der txt zu setzen und es als 456456456456123123123123 auszugeben wird daraus ein 123123456456456456123123, an welcher Stelle das genau eingetragen wird scheint willkürlich zu sein.
|
Das ist natürlich auch ziemlicher Unsinn: "r+" bewirkt zwar, dass der Zeiger an den Anfang gesetzt wird und dort begonnen wird zu schreiben, jedoch bedeutet das nicht gleichzeitig das alles was danach kommt auch automatisch nach hinten "verschoben" wird.
Du hast nun zwei Möglichkeiten:
a) Neuen Eintrag ans Ende Speichern und Reihenfolge bei der Ausgabe ändern
b) Bestehende Einträge auslesen ($eintraege), neuen Eintrag davor setzen: $eintraege = $neuer_eintrag . $eintraege; und dann alle einträge komplett darein schreiben.
Ich tendiere zu B, da die Lesegeschwindigkeit schneller ist.
Noch ein bisschen was generelles:
Warum ihr beiden Hier mit Binär-Dateien rummachen wollt, ist mir ein Rätsel, ich denke es geht sich um ein Gästebuch?
fseek() ist natürlich ziemlich überflüssig, weil man auch direkt durch Angabe des richtigen Modus da landen kann.
Die Einträge formatiert in die Datei zu speichern ist auch nicht sonderlich sinnvoll, bläht die Datei unnötig auf, macht manipulationen schwieriger und Änderungen am Layout deutlich aufwändiger.
Warum man bei formatierten/unformatierten Daten nicht mit fseek() arbeiten können soll, erschließt sich mir allerdings nicht.