Запрос названия дирректорий в массив.

Тема в разделе "Как сделать...", создана пользователем Grifindore, 26 мар 2008.

Статус темы:
Закрыта.
  1. Grifindore

    Grifindore

    Регистр.:
    4 сен 2007
    Сообщения:
    151
    Симпатии:
    35
    Задача такая:

    Есть например папочка ...any/dirpop/

    в этой папке создаются папки

    dir1
    dir2
    dir3
    ....
    dir10

    как на php сделать так, чтобы произошло обращение в any/dirpop/ и все названия папочек, которые там есть, поместились в массив для последующей обработки?
     
  2. lobzik

    lobzik

    Регистр.:
    8 авг 2006
    Сообщения:
    311
    Симпатии:
    49
    PHP:
    if ($handle opendir('.')) 

        echo 
    'Дескриптор каталога: '$handle"\n"
        echo 
    'Файлы:'"\n"
        while (
    false !== ($file readdir($handle))) 
        {  
            echo 
    $file"\n"
        } 
    }
     
  3. lexesv

    lexesv

    Регистр.:
    15 ноя 2006
    Сообщения:
    219
    Симпатии:
    103
    PHP:
    // $path : path to browse
    // $maxdepth : how deep to browse (-1=unlimited)
    // $mode : "FULL"|"DIRS"|"FILES"

    //Example:
    //$dir = "../";
    //$dirs=searchdir($dir, -1, "DIRS", $d=0);

    function searchdir $path $maxdepth = -$mode "FULL" $d )
    {
        if ( 
    substr $path strlen $path ) - ) != '/' ) { $path .= '/' ; }
        
    $dirlist = array () ;
        if ( 
    $mode != "FILES" ) { $dirlist[] = $path ; }
        if ( 
    $handle opendir $path ) )
        {
            while ( 
    false !== ( $file readdir $handle ) ) )
            {
                if ( 
    $file != '.' && $file != '..' )
                {
                    
    $file $path $file ;
                    if ( ! 
    is_dir $file ) ) { if ( $mode != "DIRS" ) { $dirlist[] = $file ; } }
                    elseif ( 
    $d >=&& ($d $maxdepth || $maxdepth 0) )
                    {
                        
    $result searchdir $file '/' $maxdepth $mode $d ) ;
                        
    $dirlist array_merge $dirlist $result ) ;
                    }
                }
            }
            
    closedir $handle ) ;
        }
        if ( 
    $d == ) { natcasesort $dirlist ) ; }
        return ( 
    $dirlist ) ;
    }
     
Статус темы:
Закрыта.