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('
/');