Нарыл какую-то в интернете; вроде работала, но недавно заметил, что не все файлы находит.
Код там убойный, поэтому решил написать сам.
В итоге получилась простая и прозрачная функция:
function find_arc($dir)
{
// Гарантия отсутствия концевого слеша:
$dir = substr($dir,-1) == "/" ? substr($dir,0,-1) : $dir;
// Корень директории архивов: массив вложенного.
$rezult = glob($dir.'/*'); // Читаем директорию
$continue = TRUE; // в массиве еще (возможно) есть директории (не файлы)
while($continue)
{
$continue = FALSE; // Завершение цикла когда нет непрочитанных директорий
foreach($rezult as $k=>$v)
{
if( is_dir($v) )
{
unset($rezult[$k]);
$continue = TRUE; // Еще есть (была) непрочитанная директория
foreach(glob($v.'/*') as $vv)$rezult[] = $vv; // Добавляем содержимое директории в массив
}
}
}
return $rezult;
}
_____________
Бесплатному сыру в дырки не заглядывают...