Tom: txt Datei sortiert auslesen

Beitrag lesen

Hello,

Ich hoffe ihr könnt mir weiterhelfen =)

Zu diesem Zweck sind Datentypen erfunden worden.
Die Speicherung sollte immer in der für die Verarbeitung günstigsten Form stattfinden.
Cheatah hat Dir ja schon gesagt, dass das Datum besser im ANSI-Format (oder einem verwandten) gespeichert werden sollte.

Wie es dann angezeigt wird, ist eine ganz andere Baustelle.
Du schreibst Dir dann einfach für jeden Datentyp eine Ausgabefunktion.

Mit klassischen Textdateien ist das Sortieren eine aufwändige Sache, wenn nicht der ganze Dateiinhalt in den Speicher passt. Aber die haben wir ja heute auch nicht mehr nötig im Zeitalter der terabyte-Festplatten (1TB für 119,00 Euro habe ich letzte Woche angeboten bekommen). Da kannst Du auch Dateien mit wahlfreiem Zugriff aufbauen. PHP unterstützt das leider nur sehr schlecht, weil man nur sehr kompliziert eigene Datenstrukturen definieren und wieder auslesen kann

http://de2.php.net/manual/de/function.pack.php
http://de2.php.net/manual/de/function.unpack.php und

es geht aber auch mit

http://de2.php.net/manual/de/function.substr.php und
<http://de2.php.net/manual/de/function.str-pad.php

Datensätze in fester Satzlänge aufzubauen, sodass Du dann anschließend nicht mehr die gesamte Datei auslesen musst, wenn Du nur einen bestimmten Satz suchst.

Für Deinen Fall empfehle ich Dir aber, Dich einfach mal mit serialize() und unserialize() zu beschäftigen.
[link:http://de2.php.net/manual/de/function.serialize.php>

Da kannst Du dann die Daten in einem "Array" speichern, dass Du komplett in der Datei abspeichern kannst. Und dass man in PHP "Arrays" sortieren kann, weißt Du ja schon.

Wenn die zu erwartende Datenmenge aber über 500kB steigen wird, dann solltest Du besser gleich eine Datenbank verwenden, da das Arbeiten mit den Arrays (Datei jedes Mal vollständig auslesen und wieder wegschreiben) den Host sonst zu sehr belasten würde.

Ein harzliches Glückauf

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de