Die if-Anweisung selbst arbeitet korrekt. Du hattest
mit der Anweisung 4 mal die Ausgabe
Letzte Änderung der Datei:
Ohne die Anweisung hattest du ebenfalls diese 4 Ausgaben, zusätzlich aber natürlich auch zwei zusätzliche Ausgaben für "
." und "
..". D.h. die if-Anweisung fängt die Punkte korrekt ab, in den übrigen 4 Ausgaben steht nichts. Warum das so ist, musst du jetzt herausfinden.
Ist im Grunde ganz einfach: in der Variablen
$zeit steht nichts (du bekommst ja keine Zeit angezeigt). Die Variable bekommst du über
$zeit = filemtime($file), und
$file wiederum aus dem Array
$files. Und das Array
$files bekommst du über die Funktion
scandir.
Also musst du der Reihe nach abarbeiten, was in den einzelnen Variablen/Arrays steht um zu sehen, warum du keine Ausgabe bekommst/wo der Fehler ist.
Deine erste Anweisung ist
$files = scandir($dir);, also sollten in
$files deine Dateinamen stehen. Lass dir
$files einfach in einer foreach-Schleife
* mit
echo ausgeben um zu sehen, ob da wirklich Dateinamen drinstehen (und ob es die sind, die du erwartest).
Wenn das korrekt ist, lässt du dir als nächstes mit
echo filemtime($file) wieder für jedes Element im Array das Änderungsdatum ausgeben.
Wenn das ok ist, nimmst du das Array
$zeiten und lässt dir wieder in einer Schleife ausgeben, ob dort die ganzen Zeiten drinstehen, die du mit
filemtime($file) bekommst.
usw. usf.
Ich vermute, dass der Fehler bei
scandir liegt, und gar keine Dateinamen drinstehen. Denn andernfalls müsste dein
$zeit (bzw. in deiner aktuellesten Version
$datum_xx) zumindest irgendwas ausgeben und nicht gar nichts.
-----
Wenn du mehrere Verzeichnisse auslesen willst, müsstest du das auch wieder mit einer Schleife machen. D.h. mit
scandir das Hauptverzeichnis auslesen, damit du die Unterordner bekommst (werden wie gehabt in einem Array gespeichert), und die Unterordner grast du dann wiederum mit scandir in einer Schleife ab.
Alternativ, wenn die Ordnernamen fest sind und sich nicht mehr ändern/keine neuen dazukommen, kannst du auch händisch die Ordnernamen in einem Array speichern
$array = array("Ordner1", "Ordner2", ...) und die Ordner in diesem Array dann in einer Schleife mit
scandir abarbeiten.
-----
* nur zum Testen kannst du dir ein Array auch einfach mit
print_r($array) ausgeben lassen, dann sparst du dir die Codeschreiberei mit der foreach-Schleife.