PHP Ordner auslesen und in Kategorien unterteilen

Hallo.

Ich hab da einen Ordner namens bilder. in diesem ordner bilder sind x beliebig viele Unterordner.

Im mom. lese ich sie über readdir usw. aus. Klappt auch spitze.
die ordnernamen beginnen immer mit z.B.

  • 06
  • 07
  • 05

jetzt würde ich gerne die ordner nach den ersten 2 buchstaben sortieren…bzw. kategorien zuordnen.

es soll eine art baumstruktur werden. Lösung sollte in etwas so aussehen:

  • 06
  • 06 Urlaub auf Kreta
  • 06 Party auf Ibiza
  • 07
  • 07 Geb-fest 21 Jahre
  • 07 Wandern in den schönen Bergen
    usw.

ist das mit PHP möglich??

Grüße und danke für die Hilfe.

sebastian

jetzt würde ich gerne die ordner nach den ersten 2 buchstaben
sortieren…bzw. kategorien zuordnen.

Die Ordner? Die kannst Du nicht sortieren. Das Filesystem entscheidet selber darüber, wie die Ordner auf der Festplatte abgelegt werden.

Was willst Du sortieren? Ein Array, in dem Du die Verzeichnisse hältst? Da gibts sicher ein sort oder qsort für Arrays, steht sicher auch auf php.net.

es soll eine art baumstruktur werden. Lösung sollte in etwas
so aussehen:

Was heißt „aussehen“? Visualisiert?
Gehts um die Darstellung?

ist das mit PHP möglich??

Bestimmt, aber ich weiß noch nicht, was Du erreichen willst. Definiere das mal genauer. Oder Du wartest auf jemanden, der Dich besser versteht als ich, soll vorkommen :smile:

Gruß,
-Efchen

Die Ordner? Die kannst Du nicht sortieren. Das Filesystem
entscheidet selber darüber, wie die Ordner auf der Festplatte
abgelegt werden.

das ist mir klar.

Was willst Du sortieren? Ein Array, in dem Du die
Verzeichnisse hältst? Da gibts sicher ein sort oder qsort für
Arrays, steht sicher auch auf php.net.

ja ich schreib alle ordnernamen in einen array und nachher sortier ich ihn absteigend mit rsort(). damit 07 vor 06 steht.

Was heißt „aussehen“? Visualisiert?
Gehts um die Darstellung?

ja ich will das er mir alle ersten 2 buchstaben der ordnernamen den kategorien 06, 07, 05 unterteilt.

beispiel der ordner bilder hat:
10 ordner
5 ordner mit 06 beginnend
5 ordner mit 07 beginnend

er soll nun
kategorien anlegen also nur visualisiert, in der darstellung

  • 07
  • 07 blabla
  • 07 blablal
  • usw.
  • 06
  • 06 blablab

07 und 06 sind die kategorieüberschriften zb. als h1 oder h2 oder h3 (egal).

ist das mit PHP möglich??

Bestimmt, aber ich weiß noch nicht, was Du erreichen willst.
Definiere das mal genauer. Oder Du wartest auf jemanden, der
Dich besser versteht als ich, soll vorkommen :smile:

hoffe habe mich jetzt verständlicher ausgedrückt.

grüße,
sebastian

beispiel der ordner bilder hat:
10 ordner
5 ordner mit 06 beginnend
5 ordner mit 07 beginnend

er soll nun
kategorien anlegen also nur visualisiert, in der darstellung

  • 07
  • 07 blabla
  • 07 blablal
  • usw.
  • 06
  • 06 blablab

07 und 06 sind die kategorieüberschriften zb. als h1 oder h2
oder h3 (egal).

sortiere alle ordner 
fuer jeden ordner tue:
 gruppe = substr(ordner,0,2)
 wenn gruppe ungleich letztegruppe print h3 gruppe h3
 letztegruppe=gruppe
 print ordner

Hallo dog.je!

Vorab danke für deine Antwort. hat mir sehr geholfen. habs jetzt so hinbekommen, wie ich es wollte.

sortiere alle ordner
fuer jeden ordner tue:
gruppe = substr(ordner,0,2)
wenn gruppe ungleich letztegruppe print h3 gruppe h3
letztegruppe=gruppe
print ordner

Hier meine Lösung:
Dieses Script durchläuft den Ordner Bilder und schreibt die einzelnen Ordner in das fileArray.
Die Ordner beginnen immer mit 2 Zahlen für das jeweilige Jahr, anhand dieser Zahlen werden Kategorien / Gruppen definiert.

 $handle = opendir('bilder');

 while ($file = readdir ($handle)) {
 if($file != "." && $file != ".." && $file != "temp")
 {
 $fileArray[] = $file;

 }

 }

 closedir($handle);


 rsort($fileArray);

 foreach($fileArray as $row) {
 $gruppe = substr($row,0,2);
 if ($gruppe != $letztegruppe)
 {
 echo " Jahr $gruppe ";
 $letztegruppe = $gruppe;
 }
 echo "

?>

Grüße und danke für die Unterstützung.
Sebastian