Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#9

AW: [PHP] Verzeichnisse rekursiv in ein Array schreiben

  Alt 30. Apr 2011, 11:45
wegen dem strreplace könnte man jetzt auch den Suchpfade im Ergebnis gleich weglassen
PHP-Quellcode:
function dir_rekursiv($verzeichnis, $innerer_pfad = '') {
    if ($verzeichnis && (substr($verzeichnis, -1) != '/'))
        $verzeichnis .= '/';
    $dirs = array();
    $handle = opendir($verzeichnis . $innerer_pfad . '.');
    while ($datei = readdir($handle))
        if (($datei != '.') && ($datei != '..') && is_dir($verzeichnis . $innerer_pfad . $datei)) {
            $dirs[] = $innerer_pfad . $datei;
            $dirs = array_merge($dirs, dir_rekursiv($verzeichnis, $innerer_pfad . $datei . '/'));
        }
    closedir($handle);
    return $dirs;
}

$dirs = dir_rekursiv($_SERVER['DOCUMENT_ROOT'] . '/');
# oder
$dirs = dir_rekursiv($_SERVER['DOCUMENT_ROOT']);
oder sagt sich, daß der übergebene Suchpfad nie relativ ist, sondern immer absolut "relativ" zum DocumentRoot

PHP-Quellcode:
function dir_rekursiv($verzeichnis) {
    if ($verzeichnis && (substr($verzeichnis, -1) != '/'))
        $verzeichnis .= '/';
    if (substr($verzeichnis, 0, 1) != '/'))
        $verzeichnis = '/' . $verzeichnis;
    $dirs = array();
    $handle = opendir($_SERVER['DOCUMENT_ROOT'] . $verzeichnis . '.');
    while ($datei = readdir($handle))
        if (($datei != '.') && ($datei != '..') && is_dir($_SERVER['DOCUMENT_ROOT'] . $verzeichnis . $datei)) {
            $dirs[] = $verzeichnis . $datei;
            $dirs = array_merge($dirs, dir_rekursiv($verzeichnis . $datei . '/'));
        }
    closedir($handle);
    return $dirs;
}

$dirs = dir_rekursiv('/');
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (30. Apr 2011 um 11:52 Uhr)
  Mit Zitat antworten Zitat