|
|
|
| Вопрос скорее теоретический ..как грамотно построить галерею на сайте очень много нюансов ...кто делал отзовитесь | |
|
|
|
|
|
|
|
для: serjinio
(09.04.2009 в 14:22)
| | хм, а какие нюансы? | |
|
|
|
|
|
|
|
для: serjinio
(09.04.2009 в 14:22)
| | сначала создаешь базу данных:
таблица альбомов (id, название, дата создания, дата обновления и пр.) и таблица фотографий (id, альбом, описание, дата добавления и пр.)
пишешь скрипт:
если (www.site.ru/gallery/) выводишь список альбомов
если (www.site.ru/gallery/?album=123) выводишь список фотографий из альбома №123
если (www.site.ru/gallery/?photo=456) выводишь фотографию №456
URL можно изменить, сделать более короткими и "человекопонятными"
при добавлении фотографии (админом в панели управления или в профиле зарегистрированного пользователя) закачиваешь фотку в нужный каталог (при необходимости уменьшаешь ее размер графической библиотекой) и создаешь ее уменьшенную копию (превью), так же с помощью библиотеки, можно использовать разные алгоритмы для вырезания нужных частей фотки (делать квадратную например). Сначала записывается запись в БД, потом вычисляется последний добавленный id и потом загружается файл с именем "/photos/".$id.".jpg" и "/photos/mini/".$id.".jpg"
пример рабочий есть на моем сайте[url]www.sport54.ru[/url] там вместо GET-праметров использую модуль mod_rewrite и потом разбераю строку запроса, выглядит в итоге очень красиво | |
|
|
|
|
|
|
|
для: Петр
(09.04.2009 в 15:00)
| | Петр, гляньте пожалуйста в эту тему http://softtime.ru/forum/read.php?id_forum=5&id_theme=64122
нужна помощь с mod_rewrite ) | |
|
|
|
|
|
|
|
для: Петр
(09.04.2009 в 15:00)
| | пример рабочий есть на моем сайтеhttp://www.sport54.ru/photos/ там вместо GET-праметров использую модуль mod_rewrite и потом разбераю строку запроса, выглядит в итоге очень красиво | |
|
|
|
|
|
|
|
для: Петр
(09.04.2009 в 15:00)
| | В каком формате удобней хранить фото?
1 хэш.jpg
2 time.jpg
3 имя .jpg
4 id(записи).jpg
Как хранить?
1 хэш на диске...
путь..название (имя)..расширение..ширина и высота ..в БД
2 хэш.jpg на диске
путь..ширина и высота ..в БД
еще варианты.... | |
|
|
|
|
|
|
|
для: serjinio
(10.04.2009 в 08:20)
| | в БД можно хранить название файла, а для самой фото создаёшь папку, куда загружаешь её.
название папки можно сделать по id группы фотографий, название самой фотографии по времени загрузки фото на сервер.
<?php $image = date("YmdHis",time())."$ext"; //имя файла, где $ext есть расширение файла?>
|
| |
|
|
|
|
|
|
|
для: Slo_Nik
(10.04.2009 в 11:43)
| | название самой фотографии по времени загрузки фото на сервер
Ахтунг!!! А если два запроса прийдут одновременно? Чем не устраивает id фотографии из базы для названия файла? | |
|
|
|
|
|
|
|
для: Valick
(10.04.2009 в 13:04)
| | да пожалуйста, можно в имя файла ставить его id и добавлять время загрузки, вариантов много... | |
|
|
|
|
|
|
|
для: Slo_Nik
(10.04.2009 в 11:43)
| | Есть вариант сделать md5 одновременно от времени загрузки, браузера и IP-адреса, но есть вероятность получить совпадение (вероятность очень мала, но всетаки она есть), лучше всего сделать по id записи в БД (даже если однговременно пользователи загрузять фото, то будет два разный id).
На счет папок, то есть некоторые сложности. Удобно будет если при редактировании фото, можно было бы перемещать их в разные альбомы. в таком случае придется перемещать файл на сервере (в общзем-то это возможно). | |
|
|
|