PHP’de bir klasörün içindeki dosya/klasörleri bir diziye almak için..

Klasör ve dosya istinaları tanımlanabilir. Recursive fonksiyondur.


function getDirectoryTree($klasor, $istisnaKlasor = array(".", ".."), $istisnaDosya = array('Thumbs.db')) {
    $dirs = array_diff(scandir($klasor), $istisnaKlasor);
    $dir_array = array();
    foreach ($dirs as $d) {
		$filtereD = iconv('ISO-8859-9', 'UTF-8', $d);
        if (is_dir($klasor . '/' . $d)) {
            $dir_array[$filtereD] = getDirectoryTree($klasor . '/' . $d);
        } else {
            if (!in_array($filtereD, $istisnaDosya))
                $dir_array[] = $filtereD;
        }
    }
    return $dir_array;
}