Online
Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
Delphi 12 Athens
|
AW: [PHP] Verzeichnisse rekursiv in ein Array schreiben
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)
|