Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] Dateiliste gruppieren (https://www.delphipraxis.net/65144-%5Bphp%5D-dateiliste-gruppieren.html)

Luckie 12. Mär 2006 22:35


[PHP] Dateiliste gruppieren
 
Ich habe in einem Array mit Datei. Diese würde ich nun gerne Gruppieren nach Jahren oder Moantn. Hat da jemand eine Idee, wie man das dynamisch gestallten könnte ohne die Datumsabfrage hard zu codieren?

titus 12. Mär 2006 22:41

Re: [PHP] Dateiliste gruppieren
 
Hi Michael

Meine Gegenfragen:
  • Sollen die als Liste ausgegeben werden?
  • Wie sind die Daten abgespeichert (Timestamp/DD.MM.YYYY)?

mfG, titus

Luckie 12. Mär 2006 22:43

Re: [PHP] Dateiliste gruppieren
 
Es ist eine Dateiliste vom Dateisystem: http://www.michael-puff.de/Developer/Artikel/_index.php (Ich bin gerade am probieren.)

titus 12. Mär 2006 22:58

Re: [PHP] Dateiliste gruppieren
 
Also ich denke mir dass du deine Dateien nach dem Änderungs- bzw. Erstellungsdatum kategorisieren willst.

Jetzt kannst du ja einfach via date('m', $ausgelesenes_datum); einfach überprüfen ob ein neuer Monat erreicht ist.
Die Idee ist natürlich nur vereinfacht und leicht umzusetzen.

mfG

Luckie 12. Mär 2006 23:00

Re: [PHP] Dateiliste gruppieren
 
Genau so was...
Code:
$files = ListFiles($_SERVER['DOCUMENT_ROOT'].'/Developer/Artikel/', 'time');

    $year2006 = Array();
    $cnt2006 = 0;
   
    $yaer2005 = Array();
    $cnt2005 = 0;
    foreach($files as $file)
    {
      $title = GetTitleFromHTML($$file);

      switch (date("Y", filemtime($file)))
      {
        case '2006':
          $year2006[$cnt2006] = $file;
          $cnt2006++;
          break;
        case '2005':
          $year2005[$cnt2005] = $file;
          $cnt2005++;
          break;
      }
    }

    echo "2006
\n";
    foreach($year2006 as $file)
    {
      $title = GetTitleFromHTML($file);
      echo "$title
\n";
    }
    echo "

";
    echo "2005
\n";
    foreach($year2005 as $file)
    {
      $title = GetTitleFromHTML($file);
      echo "$title
\n";
    }
...wollte ich eigentlich vermeiden.

titus 12. Mär 2006 23:05

Re: [PHP] Dateiliste gruppieren
 
Das lässt sich sicher auch dynamisch regeln.
D.h. erstmal alle Jahre rausfinden die vorhanden sind (wir haben ja alle Dateinamen im Array) und dann halt durcharbeiten mit einer Schleife.

mfG

Luckie 12. Mär 2006 23:07

Re: [PHP] Dateiliste gruppieren
 
Und eben genau das wollte ich wissen, wie man das löst. ;)

titus 12. Mär 2006 23:17

Re: [PHP] Dateiliste gruppieren
 
Naja erstmal sowas wie get_years() z.B.:

//edit: ups der ließt ja jetzt ordner aus :roll:. ich denke du kannst das sicher ändern, dass er deine filelist nimmt ;) (wenn's überhaupt was taugt)
Code:
<?php
function get_years($dir_name) {
   $dir  = dir($dir_name);
   $years = array();

   while($file = $dir->read()) {
      $year = date('Y', filemtime($dir_name . $file));
      if (!in_array($year, $years)) {
         $years[] = $year; // datum + dateiname speichern lässt sich später sortieren dann (auch seperat speicherbar etc ;).
         $filename[] = $file;
      }
   }

   return $years;
}

print_r(get_years('./ordner/'));
?>
Ließe sich sicher auch leicht an Monate anpassen etc.

mfG

Luckie 12. Mär 2006 23:49

Re: [PHP] Dateiliste gruppieren
 
Ich habe es erstmal hardgecodet. Ändern muss ich es ja immer nur einmal im Jahr. ;)

http://www.michael-puff.de/Developer/Artikel/

Sieht ganz schick aus, wie ich finde. ;)

titus 12. Mär 2006 23:51

Re: [PHP] Dateiliste gruppieren
 
Zitat:

Zitat von Luckie
Ich habe es erstmal hardgecodet. Ändern muss ich es ja immer nur einmal im Jahr. ;)

http://www.michael-puff.de/Developer/Artikel/

Okay, aber wenn du es dann dynamisch machst, dann kannst du ja meinen Ansatz nehmen :).

Zitat:

Zitat von Luckie
Sieht ganz schick aus, wie ich finde. ;)

jep ;)

mfG


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:05 Uhr.
Seite 1 von 4  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz