[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: перебор каталогов
Jek

привет всем. в общем есть такая функция, которая собирает в массив каталоги и всЕ в них вложенные. но дело в том что рекурсия создаёт свой массив ( если не использовать global $url; ), а мне нужно чтоб она возвращала в предыдущию функцию результат или сохраняла в уже созданный массив. скажите как можно сделать подобное не используя глобал переменную?

function arrayAlbums($path="../images/"){
chdir ($path);
$files = glob("*", GLOB_ONLYDIR);
foreach ($files as $file){
if ($file == "." || $file == "..") continue;
$curDir = getcwd();
//global $url;
$url[$file] = $curDir."/".$file;
if (is_dir ($file)){
arrayAlbums($file);
chdir ("..");
}
}

return $url;
}
kaww
function arrayAlbums($path="../images/"){
chdir ($path);
$url = array();
$files = glob("*", GLOB_ONLYDIR);
foreach ($files as $file){
if ($file == "." || $file == "..") continue;
$curDir = getcwd();
//global $url;
$url[$file] = $curDir."/".$file;
if (is_dir ($file)){
$url = array_merge($url, arrayAlbums($file));
chdir ("..");
}
}

return $url;
}

Jek
Цитата (kaww @ 28.07.2013 - 02:49)
$url = array();

огрррррррррррррррррррромное спасибо
Jek
а можно как нибудь узнать путь $file чтобы не писать?

         
$curDir = getcwd();
$url[$file] = $curDir."/".$file;
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.