Dateipfade auslesen

Gladiator6

Erfahrenes Mitglied
Hallo

Ich suche eine Möglichkeit, die Pfade von allen Dateien die sich in einem Verzeichnis oder Unterverzeichnis befinden, auszulesen.

Am besten wäre es, wenn ich die Pfade aller Dateien in ein array schreiben könnte!
 
PHP:
<?php
if ($handle = opendir('.')) {
   while (false !== ($file = readdir($handle))) {
       if ($file != "." && $file != "..") {
           echo realpath($file)."<br/>";
       }
   }
   closedir($handle);
}
?>
So zum Beispiel... Ist übrigens fast 1:1 von php.net rauskopiert.
 
Kannst du mir da ev. noch mit ein paar Erläuterungen weiterhelfen?
Bei mir happerts schon in der 1. Zeile, die Syntax so kommt mir als PHP Einsteiger spanisch vor!
 
Ok, fangen wir von vorne an :)

PHP:
if ($handle = opendir('.')) { 
# opendir öffnet das aktuelle Verzeichnis in dem sich die 
# PHP Datei befindet, wo das Script ausgeführt wird.
# Gibt opendir() true zurück (Sprich es funktioniert das Verzeichnis zu öffnen) wird der Rest ausgeführt.
   while (false !== ($file = readdir($handle))) { 
# Solange readdir($handle) nicht false zurückgibt, wird die while() Schleife ausgeführt.
       if ($file != "." && $file != "..") { 
# Wenn die Dateirückgabe . oder .. ist, wird nichts ausgegeben
           echo realpath($file)."<br/>"; 
# Gibt dir den Dateinamen zurück und realpath gibt dir den absoluten Pfad zur Datei zurück.
       }
   }
   closedir($handle);
}
Hoffe das ist ausführlich genug.
 
Starte mal eine DOS Eingabeaufforderung und schreibe hinein: dir

Oder unter Linux: ls

Wofür die Punkte jeweils stehen kann ich dir spontan auch nicht erklären... Aber sie sind nunmal da ;)
 
Im Moment werden alle Dateien im Verzeichnis wo sich das PHP Script befindet ausgelesen. Die Dateien in den Unterverzeichnissen werden jedoch nicht ausgelesen.

Wie muss ich das Script anpassen, wenn ich ein anderes Verzeichnis auslesen will (also nicht das, in welchem sich das Script befindet)?

kann ich "." durch /xyz/xyz ersetzen?
 
Exakt. Aber vielleicht solltest du einfach ein wenig mit den Sachen rumprobieren, das bringt dir mehr, als alles einfach nur zu erfragen ;)
 
Ich mache beides ;-) Bin natürlich auch am ausprobieren!

Wie ich es anstellen muss, damit auch die Unterverzeichnisse ausgelesen werden, weiss ich jedoch nicht!
 
Zurück