| |
|
|
| | При исполнении кода
$dir = opendir (".");
readdir ($dir);
readdir ($dir);
while ( $file = readdir ($dir)){
echo "$file<br>";
}
closedir ($dir);
|
имеющиеся в директории файлы выводятся не в алфавитоном порядке, а неким иным образом.
Меня интересует не сам порядок вывода, а неизменность этого порядка. То есть, если этим кодом перебирать файлы несколько раз в одном скрипте или в разных скриптах, то будут ли файлы всегда выводиться в одном и том же порядке? | |
| |
|
|
| |
|
|
| |
для: Владимир55
(07.03.2008 в 23:32)
| | | Они сортируются по дате.
Проще самому их сортировать
<?
$dir = opendir (".");
while (false !== ($file = readdir ($dir))) {
if ($file == '.' || $file == '..') continue;
$files[] = $file;
}
closedir ($dir);
sort($files);
?>
|
Зачем 3 раза читать директорию??? | |
| |
|
|
| |
|
|
| |
для: mihdan
(07.03.2008 в 23:46)
| | | А так ещё проще
<?php
$dir = ''; // директория
$sorted = scandir($dir); // $sorted = scandir($dir, 1); отсортирует по убыванию.
echo"<pre>";
print_r($sorted);
?>
|
| |
| |
|
|
| |
|
|
| |
для: mihdan
(07.03.2008 в 23:46)
| | | "Зачем 3 раза читать директорию???"
Что бы исключить файлы с точкой и двумя точками.
К сожалению, модератор изменил название этой темы, и при этом исказил ее смысл. Изначально тема называлась "Функция readdir". Сортировка не требуется, ибо логика скрипта позволяет иметь любой порядок выдачи файлов, но важно понять, будет ли этот порядок неизменным при многократном просмотре директории? То есть, если при первом чтении директории выдались файлы в таком порядке:
7.php
1.php
z.php
a.php
4.php,
то они всегда будут выдаваться именно в этом порядке.
Так?
Файлы не поменяются местами? | |
| |
|
|
| |
|
|
| |
для: Владимир55
(08.03.2008 в 13:59)
| | | Если файлы будут редактироваться, то порядок их вывода может измениться. Лучше не рисковать, поместив все файлы в массив и отсортировав его одной и фунций сортировки. | |
| |
|
|
| |
|
|
| |
для: Владимир55
(08.03.2008 в 13:59)
| | | >Что бы исключить файлы с точкой и двумя точками.
<?
if ($file == '.' || $file == '..') continue;
?>
|
| |
| |
|
|
| |
|
|
| |
для: mihdan
(08.03.2008 в 14:39)
| | | Понятно, спасибо! | |
| |
|
|
| |
|
|
| |
для: mihdan
(07.03.2008 в 23:46)
| | | sort() - сортирует по алфавиту??
хорошо, а если у меня есть файлы
Price 20.07.07
Price 29.07.07
Price 17.07.07
Price 16.07.07
то после применения этой функции файлы будут ли выводиться сл. образом?
Price 16.07.07
Price 17.07.07
Price 20.07.07
Price 29.07.07 | |
| |
|
|