Forum Webscript.Ru
Программирование => PHP => Тема начата: semya от 30 Января 2003, 13:35:40
-
есть директория, в ней 1300 файлов, можно ли как-то не перебирая всей директории, получить информацию о файлах к примеру с 10го по 40й...? то есть их имена.
спасибо
-
Смотря какие у них имена. Если ты их называл упорядоченно, например, 1.txt 2.txt...100.txt , то несложно. Если же имена в беспорядке, то тут надо подумать.
-
1.txt 2.txt...100.txt
ну допустим пронумеровал по порядку...
но я насколько понимаю тогда нужно знать общее число файлов в директории, чтобы не промахнуться, так?
-
есть директория, в ней 1300 файлов
Ты же сам написал точное их количество. Или это не точно?
-
semya
А может лучше для такой задачи использовать БД?
Директория с тысячей файлов это уже нехорошо, особенно учитывая, что файловая система ext2 не может отводить меньше кластера на файл. То есть если твой сайт работает под Linux, то ты получишь ощутисые тормоза с доступом к этой директории и займешь кучу лишнего дискового пространства.
-
А может лучше для такой задачи использовать БД?
вот, веришь! только что так и сделал, сам понял что скорее всего по другому и не получится, хотя задача все же интересная...
Остановлюсь на варианте с базой... всем спасибо!
-
задача все же интересная
Ну, чисто из академического интереса можно решать примерно так:
for ($i=10;$i<=40;$i++)
if (file_exists("$dir/$i.txt")) $names[]=$i;