Dateien nach Datum auslesen ?

ThisIsBeat

Empire
Registriert
02.02.16
Beiträge
85
Hallo Community,

wie immer erst mein Script :)
Code:
<?php
date_default_timezone_set('Europe/Berlin');
$dirs = array();
$files = array();
    
   $ordner = "./upload";
   $handle = opendir ($ordner);
 
   while ($file = readdir ($handle)) {
      if($file != "." && $file != ".." & $file != ".DS_Store") {
         $compl = $ordner."/".$file;
         if(is_dir($compl)) {
            $dirs [filemtime ($compl)] = "/".$file;
         } else {
            // kompletter Pfad
            $files [filemtime ($compl)] =  "<a href=\"".$compl."\">".$file."</a>";
         }
      }
   }
 
   krsort ($dirs);
   foreach ($dirs as $key => $dir)
      echo $dir . '  ' . date ("F d Y H:i:s.", $key) . "<br/>";
    
   krsort ($files);
   foreach ($files as $key => $file)
      echo $file . '  ' . date ("F d Y H:i:s.", $key) . "<br/>";
 
   closedir($handle);
?>

Ich habe im Netz ein Script gefunden womit Dateien anhand ihres Datums ausgelesen und sortiert werden können. Ich habe auch schon ein paar Dinge daran vorgenommen um es auf meine Bedürfnisse anzupassen.

Insgesamt funktioniert auch alles. Die Dateien werden tatsächlich nach ihrem Datum ausgelesen und sortiert aufgelistet. Das Problem jedoch ist das die Dateien (Es handelt sich um Bilder), nicht angezeigt werden :/

Ich habe sonst immer einen anderen Code genutzt um die Bilder aus einem Ordner auszulesen und anzuzeigen, jedoch wurde dabei das Upload-Datum nicht beachtet.
Hier der Code:
Code:
<?php
if ($ordner = opendir("Upload/")) {
  while (false !== ($datei = readdir($ordner))) {
    if ($datei != ".." && $datei != "." & $datei != ".DS_Store") {
       echo "<img src=\"upload/$datei\" style='width: 50%; min-width: 100px; max-width: 300px; border-radius: 5px;   border-style: double; border-color: gray; border-width: 1px; margin-left: 20px; margin-top: 25px; height: 300px; margin-bottom: 25px; box-shadow: 0px 8px 20px 0px gray; cursor: pointer; margin-right: 20px'>";
    }
  }
  closedir($ordner);
}
?>


Meine Idee war es gewesen das ganze einfach auf den ersten Code zu übertrage, doch das will nicht so wirklich klappen. Weiß jemand von euch wie ich im ersten Code bewirken kann das die ausgelesenen Dateien/Bilder auch angezeigt werden ?
 

ThisIsBeat

Empire
Registriert
02.02.16
Beiträge
85
Hallo Community,

wie immer erst mein Script:
Code:
<?php
date_default_timezone_set('Europe/Berlin');
$dirs = array();
$files = array();
    
   $ordner = "upload";
   $handle = opendir ($ordner);
 
   while ($file = readdir ($handle)) {
      if($file != "." && $file != ".." & $file != ".DS_Store") {
         $compl = $ordner."/".$file;
         if(is_dir($compl)) {
            $dirs [filemtime ($compl)] = "/".$file;
         } else {
            // kompletter Pfad
            $files [filemtime ($compl)] =  "<a href=\"".$compl."\">".$file."</a>";
         }
      }
   }
 
   krsort ($dirs);
   foreach ($dirs as $key => $dir)
      echo $dir . '  ' . date ("F d Y H:i:s.", $key) . "<br/>";
    
   krsort ($files);
   foreach ($files as $key => $file)
      echo $file . '  ' . date ("F d Y H:i:s.", $key) . "<br/>";
    
   closedir($handle);
?>

Die Bilder in dem Ordner werden zwar ausgelesen aber nicht angezeigt. Das ganze sieht so aus:

bild_user292.jpeg January 02 2017 21:27:11.
bild_user291.jpeg January 02 2017 21:26:38.
bild_user29_1.jpeg December 29 2016 18:16:22.
bild_user29.jpeg December 29 2016 00:02:28.
bild_user30_1.jpg December 11 2016 14:18:01.
bild_user30.jpg December 11 2016 14:17:32.
bild_user29_4.jpg December 07 2016 17:39:08.
bild_user29_3.jpg December 07 2016 17:33:20.
bild_user29_2.jpg November 15 2016 22:15:12.
bild_user29_1.jpg November 15 2016 22:14:45.
bild_user29.jpg November 15 2016 22:13:58.

Ich habe jetzt schon mehrere Sachen ausprobiert unteranderem folgendes:
ich Habe diese Zeile echo $file . ' ' . date ("F d Y H:i:s.", $key) . "<br/>";
durch diese
echo "<img src='$compl' style='width: 50%; min-width: 100px; max-width: 300px; border-radius: 5px; border-style: double; border-color: gray; border-width: 1px; margin-left: 20px; margin-top: 25px; height: 300px; margin-bottom: 25px; box-shadow: 0px 8px 20px 0px gray; cursor: pointer; margin-right: 20px' >" . ' ' . date ("F d Y H:i:s.", $key) . "<br/>";
ersetzt.

Danach wird mir lediglich ein Bild aus dem Ordner angezeigt und das ganze 11 mal. Wenn ich die Variable $compl durch $file ersetze bleiben die Felder leer.

Jemand ne Ahnung wie ich es hinbekomme das alle Bilder angezeigt werden und dann auch noch sortiert sind, so wie es sein soll ?