Daten aus 5 Textdateien auslesen und nach Datum sortieren

-GS-Master

Erfahrenes Mitglied
Hi, hab ne Frage und zwar möchte ich Daten aus 5 Textfiles auslesen lassen und diese dann nach Datum sortieren lassen, ich glaub dazu muss ich datum und Uhrzeit mit reinschreiben, aber wie sortiere ich das denn dann ? ^^

Thx für die Antwort
 
Du musst nicht zwingend Datum und Uhrzeit reinschreiben, vorausgesetzt es reicht Dir aus danach zu sortieren wann die Dateien zuletzt modifiziert wurden (Stichwort: filemtime()).
Ansonsten kommt es halt darauf an wie Du die Zeit in die Datei schreibst. Am einfachsten waere da wohl ein Timestamp.
 
kannst mir bitte non code reinschreiben wie das dann ungefair aussehen würde ?


Naja ich denk mal das ich das mit Datum machen werden, wenn das geht, falls ich das ganze mal editiere ...
 
Zuletzt bearbeitet:
  1. Dateien und deren Aenderungszeit in Array lesen (die Aenderungszeit am besten vor den Dateinamen setzen um die Sortierung einfach zu gestalten).
  2. Array sortieren
  3. Zeit und Dateinamen voneinander trennen und die Dateien eine nach der anderen auslesen
  4. Daten verarbeiten/ausgeben
 
Du oeffnest die Dateien, startest mit dem darin enthaltenen Datum einen neuen String und haengst dann den Rest der Daten dieser Datei an.
Den String packst Du dann in ein Array, sortierst dieses am Ende und gibst es aus.

Im Grunde nicht grossartig anders als die Variante zuvor.
 
So ich denk mal ich rechne den timestremp oder wie das heißt von einem Datum aus ^^ Joa soweit so gut und sortiere das ganze ... nur bei dem Script vom tut is leider ein fehler drinnen ... zumindest möchte das mein Server nicht ...

Parse error: syntax error, unexpected ')', expecting ';' in /usr/export/www/vhosts/funnetwork/hosting/thekiller/sortieren.php on line 6

PHP:
<?php

$user = file("user.txt"); # wir lesen unsere Textdaten ein und haben erst mal ein Array 
# $user[0] ist Hein|Blöd|12 
# Bevor wir anfangen können zu sortieren müssen wir noch die einzelnen Felder haben. 
for ($lo=0;$lo<sizeof($user),$lo++) { 
    $usertab[$lo] = explode("|",$user[$lo]); 
}  

for ($lo=0;$lo<sizeof($user)-1,$lo++) { # die schleife berechnet sich nach der Grösse 
                                        # des eingelesenen Arrays 
    if ($usertab[$lo][2] > $usertab[$lo+2][2])  # wir bewerten den Nachnamen 
        $zk = $usertab[$lo];                    # wir speichern den alten wert zk ist hier ein array 
        $usertab[$lo] = $usertab[$lo+1];        # wir tauschen  
        $usertab[$lo+1] = $zk;                  # alten wert einfügen 
    } 
} 

?>
 
Naja, bei Dir wird ja auch nirgends etwas ausgegeben.
Versuchs doch erstmal mit folgendem hinter der letzten FOR-Schleife:
PHP:
print_r($usertab);
 
Zurück