Сканирование папок до любого уровня

Тема в разделе "PHP", создана пользователем Digwnews, 1 май 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Digwnews

    Digwnews Читатель

    Заблокирован
    Регистр.:
    1 мар 2010
    Сообщения:
    127
    Симпатии:
    24
    Есть папка. В ней лежат изображения и ещё папки. В тех папках тоже лежат изображения и ещё папки и т.д. до любого уровня вложенности. Каким образом возможно получить массив с названиями абсолютно всех файлов-изображений в папке и во всех под-папках любого уровня вложенности, а также их расположение относительно самой первой папки?
    Спасибо.
     
  2. KnowHow

    KnowHow Создатель

    Регистр.:
    3 апр 2010
    Сообщения:
    22
    Симпатии:
    5
    PHP:
    $arNames = array();
    GetAllFileNamesInFolders('c:/StartFolder'$arNames);
    function 
    GetAllFileNamesInFolders($pathStart, &$arNames)
    {
        
    $d dir($pathStart);
        if (!
    is_object($d)) return;
        while(
    $entry $d->read()) {
            if (
    $entry != '.' && $entry != '..') {
                if (@
    is_dir($pathStart.'/'.$entry)) {
                    
    GetAllFileNamesInFolders($pathStart.'/'.$entry$arNames);
                } else {
                    
    $fn $pathStart.'/'.$entry;
                    
    $arNames[] = $fn;
                }
            }
        }
        
    $d->close();
    }
     
    Digwnews нравится это.
  3. Digwnews

    Digwnews Читатель

    Заблокирован
    Регистр.:
    1 мар 2010
    Сообщения:
    127
    Симпатии:
    24
    Отлично. Большое спасибо за помощь.
    Кстати в коде есть небольшая опечаточка - GetFileNamesInFolders в функции надо заменить на GetAllFileNamesInFolders
     
  4. KnowHow

    KnowHow Создатель

    Регистр.:
    3 апр 2010
    Сообщения:
    22
    Симпатии:
    5
    Пожалуйста...
    А опечатку уже исправил :)
     
Статус темы:
Закрыта.