Сортиране на папки и файлове

semprom

Registered
Здравейте.
До сега си блъсках главата да измисля скрипт който отваря дадена папка, и сортира всички файлове и папки по азбучен ред ( първо са папките, после файловете ). Е не мога да го измсля. Някой може ли да помогне?

Благодаря.
 
Като цяло е задачата е лесна, просто четеш записите в дадена директория и ги пъхаш в различни масиви - един за директории и един за файлове. След това сортираш масивите по желание от теб начин и ги показваш.
Ето примерен код:
PHP:
// съдържа всички директории
$folders = array();
// съдържа всички файлове
$files = array();
// тук може да зададеш файлове, които да не се показват
$skip = array('.', '..');

// четем директорията
$dir = dir('.');
//          ^-- въведи директорията тук

while (FALSE !== ($entry = $dir->read())) {
    // проверяваме дали да пропуснем файла
    if (in_array($entry, $skip)) continue;
    // пълним съответния масив
    if (is_dir($dir->path.DIRECTORY_SEPARATOR.$entry))
        $folders[] = $entry;
    else
        $files[] = $entry;
}

// Сортираме
natcasesort($folders);
natcasesort($files);

// показваме на екрана
foreach ($folders as $f){
    echo $f.'<br>';
}
foreach ($files as $f){
    echo $f.'<br>';
}
 
Ето вече готови класове. Някой от тези итератори беше специално за директории и файлове. Всичко със 2 - 3 реда код ще го направиш.

http://php.net/manual/en/spl.iterators.php
 

Back
Горе