Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Нужна помощь с каталогами
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Andruxa пишет:
одскажите как можно подсчитать кол-во файлов
Вас интересует рекурсивное число файлов в подкаталогах или число файлов в корне подкаталога? В принципе подход одинаковый только в первом случае нужна рекурсия а во втором можно просто сделать вложенный цикл - при этом при указании readdir внутри подкаталогов используйте относительный/полный путь до них потому что chdir автоматически не происходит и файлы будут читаться не те - то есть именно вы читатет readdir("kartinki/$file") при условии isdir($file)
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Andruxa
Отправлено: 15 Марта, 2010 - 15:03:52
Частый гость
Покинул форум
Сообщений всего: 140
Дата рег-ции: Март 2010
Помог: 0 раз(а)
Да, мне нужно узнать кол-во файлов в подкаталогах.
JustUserR если можно поподробнее, как в моем случае использовать is_dir ($file)
.....
природа (2) <- кол-во файлов в подкаталоге
.....
В результате в хеш-массиве $subdir_list будут имена подкаталогов и количетсво файлов в них - при этом подкаталоги 2 уровня и файлы в них не учитваются - если вы хотите учитывать и их то нужен рекурсивных подход
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
jfr
Отправлено: 15 Марта, 2010 - 18:45:54
Посетитель
Покинул форум
Сообщений всего: 332
Дата рег-ции: Март 2010 Откуда: Таджикистан, Худжанд
Покинул форум
Сообщений всего: 140
Дата рег-ции: Март 2010
Помог: 0 раз(а)
jfr Спасибо большое, то что нужно, все работает!!!
Если можно попутно по скрипту задам пару вопросов.
(стр. 14) тут понятно, count увеличивается на +1 до окончания цикла.
(стр. 18) вот тут я не совсем понял почему count=0 ?
И еще, если делать ссылки на каталоги
echo "<a href='$folder'>$folder</a> (<b>$count</b>)<br>";
то русские названия каталогов отображаются нечитабельно. Можно этого как то избежать или всетаки не стоит выбирать в названии каталогов русское написание ?
P.S. Пока единственный форум на котором я смог получить реальный ответ на свой вопрос, а не посыл на поиск Всем спасибо!
jfr
Отправлено: 15 Марта, 2010 - 19:47:13
Посетитель
Покинул форум
Сообщений всего: 332
Дата рег-ции: Март 2010 Откуда: Таджикистан, Худжанд
Помог: 0 раз(а)
[+]
пожалуйста , допустим у тебя в первой папке 1 рисунок во второй 2, а в третей 3, когда считаем то у нас выйдет например первая папка 1, вторая папка 1+2, третья папка 1+2+3, чтобы избежать этого мы обнуляем счетчик, тоесть $count=0; и после этого у нас должен выйти первая папка 1, вторая папка 2, третья папка 3, что и правильно ; Что касается названия файлов, и каталогов лучше всего исползовать латинские буквы.
Покинул форум
Сообщений всего: 140
Дата рег-ции: Март 2010
Помог: 0 раз(а)
Не хочется плодить еще одну тему, поэтому задам еще вопросик по каталогам тут.
Очень нужна ваша помощь.
Как вывести из каталога постранично картинки (скажем меленькие аватарки 100х100px)
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Andruxa пишет:
Выводит все нормально но массово, а как вывести постранично по 25 аватарок? (5 столбцов, 5 строчек)?
Вообще уменьшенные копии изображений лучше хранить в отдельной папке а не обрабатывать каждый раз - накладные расходы на хранение уменьшенных копий меньше чем на их создание при каждой загрузке PHP-скрипта
А для ограничения числа картинкок при выводе можете просто использовать порядковые номера - как они идут по очереди в списке файлов readdir (Если в момент показа добавлятся новые картинки то произойдет сдвиг - но это в общем нормальная ситуация и главное проверять чтобы они не вышли за предел
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Andruxa
Отправлено: 11 Апреля, 2010 - 20:47:44
Частый гость
Покинул форум
Сообщений всего: 140
Дата рег-ции: Март 2010
Помог: 0 раз(а)
jfr А как быть если у меня в папках картинки в jpg и gif форматах ?
JustUserR
Возможно я неправильно выразился, мне не нужны превью, мне нужно просто вывести аватарки из каталога постранично.
Да, еще такой вопрос. Может есть смысл сделать добавление аватарки через форму и имя файла хранить в БД и потом его от туда подставлять при отображении картинок ?
Что быстрее по выполнению? Считывание всех файлов из деректории или имена файлов из БД ?
JustUserR
Отправлено: 13 Апреля, 2010 - 13:27:26
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Andruxa пишет:
Что быстрее по выполнению? Считывание всех файлов из деректории или имена файлов из БД ?
Все-таки получение набора данных с именами файлов из БД как правило быстрее чем запрос списка файлов (Если они конечно не проиндексированы заранее Можно вообще зранить сами двоичные данные картинок в БД
Andruxa пишет:
JustUserR Возможно я неправильно выразился, мне не нужны превью, мне нужно просто вывести аватарки из каталога постранично.
Я помню вам требовался постраничный вывод что можно считть агрументов в пользу БД - там проще сделать LIMIT чем при прямом получении списка файлов - хотя все зависит от ситуации ведь существует выборка файлов по маске и по количеству
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.