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


Автор: sgrey 4.4.2010, 20:23
пишу к сайту простенькую галерею. заливка файлов будет только через фтп. при том делаться будет юзером который особо в этих делах не понимает. мысль такая - создать временную и постоянную папку. Потом запускать скрипт который будет сначала заносить фотки в базу и потом перемещать их по категориям в постоянную папку. Фоток может заливатся сразу до сотни. 
Такое решения мне кажется не рациональным.... да и если по ошибке фотки залить в постоянную папку, то потом их проблематично будет рассортировать.... Вопрос собственно в том, как лучше организовать заливку фоток пачками, чтоб было удобно и не убить сервер....

Автор: GZep 4.4.2010, 23:13
фотки лучше заливать в папки не по категгориям, а так как удобно. Можно все в одну папку даже. Вся работа с категориями, тегами, информацией и т.д. легко помещается в БД. БД с этим легко справляется. Имена файлом изображений имхо как-то рандомно выбирать. Ну или как-то делать чтобы не повторялись - 100% уже придуман оптимальный способ.

Автор: MoLeX 5.4.2010, 05:59
Цитата(GZep @  4.4.2010,  23:13 Найти цитируемый пост)
Можно все в одну папку даже.

практика показывает, что данный способ очень глупый. надо устраивать деление файлов, хотя бы по временному диапазону (каждый месяц - новая папка). 

Автор: krundetz 5.4.2010, 11:00
Цитата(GZep @  4.4.2010,  23:13 Найти цитируемый пост)
Можно все в одну папку даже.

этого делать нельзя, не стоит забывать как работает файловая система

ИМХО. Самый оптимальный это папка на каждую запись

Автор: bars80080 5.4.2010, 14:09
Цитата(krundetz @  5.4.2010,  11:00 Найти цитируемый пост)
Самый оптимальный это папка на каждую запись

ну, будет у нас не 10000 файлов, а 10000 папок. разве это хорошо?

закидывать скажем по 100 файлов в папку - ничего сложного, пхп умеет делить на 100

Автор: sgrey 5.4.2010, 16:32
ок, а если юзверь случайно закинул фотки не в ту папку, а в одну из постоянных где уже лежит, скажем 500 фоток. как отделить новых от старых и занести их в базу? по дате создания смотреть? 

Автор: krundetz 5.4.2010, 16:36
Цитата(bars80080 @  5.4.2010,  14:09 Найти цитируемый пост)
ну, будет у нас не 10000 файлов, а 10000 папок. разве это хорошо?

смотря с какой стороны смотреть, если у нас по 10-20(а иногда и 100) фоток на запись то да, мы как бы вводим примитивное ассоциированние

 
Цитата(bars80080 @  5.4.2010,  14:09 Найти цитируемый пост)
закидывать скажем по 100 файлов в папку - ничего сложного, пхп умеет делить на 100 

вот этого не понял, то есть предложение заводить на каждые 100 файлов по папке?

Автор: bars80080 6.4.2010, 13:39
Цитата(krundetz @  5.4.2010,  16:36 Найти цитируемый пост)
вот этого не понял, то есть предложение заводить на каждые 100 файлов по папке? 

ну да, для 1000 файлов будет всего 10 папок. это же лучше, чем было бы 1000 папок?

Автор: IgorIV 6.4.2010, 20:15
sgrey, если по существу, то я думаю лучше поставить какой-либо скрипт. Правда посоветовать ничего не могу. 
Насчет заливки в постоянную папку - просто не давать туда доступ. А сам скрипт будет переносить изображения.

Автор: sgrey 6.4.2010, 20:34
Цитата(IgorIV @  6.4.2010,  20:15 Найти цитируемый пост)
sgrey, если по существу, то я думаю лучше поставить какой-либо скрипт. Правда посоветовать ничего не могу. 
Насчет заливки в постоянную папку - просто не давать туда доступ. А сам скрипт будет переносить изображения. 

сейчас так наверно и сделаю, пока не придумаю чего другого )

Автор: GZep 6.4.2010, 21:08
Цитата(krundetz @  5.4.2010,  11:00 Найти цитируемый пост)
этого делать нельзя, не стоит забывать как работает файловая система
ИМХО. Самый оптимальный это папка на каждую запись

Цитата(MoLeX @  5.4.2010,  05:59 Найти цитируемый пост)
практика показывает, что данный способ очень глупый. надо устраивать деление файлов,

ну да. Это я подразумевал написав:
Цитата(GZep @  4.4.2010,  23:13 Найти цитируемый пост)
а так как удобно

не самая лучшая формулировка...

Кстати, а как это реализованно в популярных скриптах фотогаллерей? Быть может лучше вообще не изобретать велосипед?

Автор: IgorIV 6.4.2010, 22:04
GZep, надо искать скрипт с флеш-загрузкой, потому как через обычный инпут замаешся добавлять сотни файлов. А так конечно оптимальный вариант.

Автор: sgrey 7.4.2010, 07:00
в обычных галереях пользователи сами загружают фотки поштучно. у нас будет сайт где фотки только свои. т.е. только владелц сайта будет заливать, при том только через фтп потому что сервер не свой, а на хостинге и лимит загружаемых файлов мал, поэтому нельзя упаковать скажем 50 фоток в архив на 20 метров и залить его через пхп. ФТП насколько мне известно единственный способ залить с большой скоростью сразу пачку файлов. вопрос только в дальнейшей обработке и реорганизации. 
Пока буду делать как хотел сначлаа - разобью по категориям и две папки - одна временная, одна постянная.

Автор: ksnk 7.4.2010, 07:27
sgrey, Как вариант - сделать загрузку по ftp в один единственный каталог, так как юзер 
Цитата(sgrey @  4.4.2010,  20:23 Найти цитируемый пост)
который особо в этих делах не понимает

при старте админки сайта она(админка) должна обнаружить наличие новых картинок в каталоге загрузки и сама или с помошью юзера раскидать картинки по нужным каталогам. Заодно появляется возможностиь удобно  итерактивно решить проблемы с названием картинок, с их размером и куда их определить...


Автор: MoLeX 7.4.2010, 07:34
sgrey, картинки в БД будут регистрироваться?

Автор: sgrey 7.4.2010, 22:42
Цитата(MoLeX @  7.4.2010,  07:34 Найти цитируемый пост)
sgrey, картинки в БД будут регистрироваться? 

сначала не хотел делать коннект с бд, а потом подумал что при увеличении количества картинок и  каталогов быстрее будет всётаки их туда впихивать. но я буду делать что-то простое, типа прописывание только относительной ссылки на картинку и на образец, дата создания, категория. По идее всё. 

Автор: GZep 8.4.2010, 12:48
Цитата(IgorIV @  6.4.2010,  22:04 Найти цитируемый пост)
надо искать скрипт с флеш-загрузкой

IgorIV, я бы на джаве, честно говоря, предпочел бы такое реализовывать...

Автор: IgorIV 8.4.2010, 19:35
GZep, если самому и для личного пользования, почему бы и нет. Но вот найти готовый - это вряд ли.

Автор: krundetz 8.4.2010, 21:58
Цитата(GZep @  8.4.2010,  12:48 Найти цитируемый пост)
IgorIV, я бы на джаве, честно говоря, предпочел бы такое реализовывать... 

что вы подразумеваете под джавой, Java или JavaScript? Если JavaScript то нужно использовать серверные компоненты, которых просто может не быть на хостинге.

Автор: nerezus 9.4.2010, 15:01
Я сразу завел 256 папок и в каждой из них по 16.
И файлы уже в них

/af/9/someImage.png

Автор: GZep 10.4.2010, 21:13
Цитата(krundetz @  8.4.2010,  21:58 Найти цитируемый пост)
что вы подразумеваете под джавой, Java или JavaScript? Если JavaScript то нужно использовать серверные компоненты, которых просто может не быть на хостинге.

Java, разумется smile JavaSscript - это JavaSscript)))

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