2013-04-02 17 views
142

Was wäre der beste Weg, um alle Dateien in einem Verzeichnis mit PHP aufzulisten? Gibt es dafür eine $ _SERVER-Funktion? Ich möchte alle Dateien in den Benutzernamen/Verzeichnis auflisten und über dieses Ergebnis mit einem Link, so dass ich nur auf den Hyperlink des Dateinamens klicken kann, um dorthin zu gelangen. Vielen Dank!Alle Dateien in einem Verzeichnis auflisten PHP

+7

glob() oder scandir() sind offensichtliche Wahl –

+0

könnten Sie ein Beispiel für einen Code geben, der diese Funktionen verwendet oder erklären Sie mehr über sie? – Shadowpat

+1

Für Beispiele und Erklärungen - die Dokumentation ist wirklich der beste Ort zu gehen ... Es ist die offizielle Quelle ... – Lix

Antwort

157

Check this out:

if ($handle = opendir('.')) { 

    while (false !== ($entry = readdir($handle))) { 

     if ($entry != "." && $entry != "..") { 

      echo "$entry\n"; 
     } 
    } 

    closedir($handle); 
} 

bearbeiten: readdir()

Dieses Stück Code alle Einträge in einem bestimmten Verzeichnis Liste sollte miah Lösung ist viel eleganter als meine, sollten Sie Verwenden Sie stattdessen seine Lösung.

+1

Das hat funktioniert! Vielen Dank! – Shadowpat

+0

Freut mich zu helfen :) –

+0

Dort habe ich es nur die Hyperlinks enthalten! :) – Shadowpat

320

Sie suchen den Befehl scandir.

$path = '/tmp'; 
$files = scandir($path); 

folgende Code entfernen . und .. aus dem zurückgegebenen Array von scandir:

$files = array_diff(scandir($path), array('.', '..')); 
+0

Danke, aber @Orel Biton posted einen anderen Code, den ich verwenden werde. Ich schätze deine Hilfe jedoch! – Shadowpat

+18

Dies ist eine weitaus elegantere Lösung. – Christian

+65

Dies ist die elegantere Lösung.Ich würde auch hinzufügen/empfehlen $ files = array_diff (scandir ($ pfad), array ('..', '.')); – kyle

Verwandte Themen