Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Какой файл будет первым в readdir


Автор: YURIC 30.1.2012, 22:53
Рад приветсвовать всех.

Прошу совета по поводу:

Код

if ($handle = opendir('/path/to/files')) {
    echo "Дескриптор каталога: $handle\n";
    echo "Записи:\n";
    while (false !== ($entry = readdir($handle))) {
        echo "$entry\n";
    }
    closedir($handle);
}


Какой файл(имя файла) будет выведен первым при использовании этого кода?

Автор: krundetz 30.1.2012, 22:59
YURIC, наколько я понимаю, порядок вывода файлов буде такой каким его отдаст файловая подсистема ОС

А первыми обычно выводятся, . и ..

Автор: YURIC 30.1.2012, 23:02
Вопрос в том, по каким критериям определяет этот порядок файловая система, например ext3. Можно-ли как-то задать (узнать, повлиять) этот порядок стандартными средствами php?

Прошу прощения, не совсем точно задал вопрос изначально.

Автор: $дмитрий 31.1.2012, 00:25
Цитата

Можно-ли как-то задать (узнать, повлиять) этот порядок стандартными средствами php?

Есть несколько вариантов
1. Использовать функцию scandir. Она возвращает отсортированный по алфавиту список
2. Воспользоваться итератором RecursiveDirectoryIterator с заданным ключом сортировки
3. Накопить в массив список файлов/директорий и самому отсортировать по требуемым условиям

Автор: YURIC 31.1.2012, 02:55
Ясно, спасибо за помощь.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)