Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Фото галерея
 
 автор: serjinio   (09.04.2009 в 14:22)   письмо автору
 
 

Вопрос скорее теоретический ..как грамотно построить галерею на сайте очень много нюансов ...кто делал отзовитесь

  Ответить  
 
 автор: psychomc   (09.04.2009 в 14:57)   письмо автору
 
   для: serjinio   (09.04.2009 в 14:22)
 

хм, а какие нюансы?

  Ответить  
 
 автор: Петр   (09.04.2009 в 15:00)   письмо автору
 
   для: 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 и потом разбераю строку запроса, выглядит в итоге очень красиво

  Ответить  
 
 автор: psychomc   (09.04.2009 в 15:11)   письмо автору
 
   для: Петр   (09.04.2009 в 15:00)
 

Петр, гляньте пожалуйста в эту тему http://softtime.ru/forum/read.php?id_forum=5&id_theme=64122
нужна помощь с mod_rewrite )

  Ответить  
 
 автор: Петр   (09.04.2009 в 16:00)   письмо автору
 
   для: Петр   (09.04.2009 в 15:00)
 

пример рабочий есть на моем сайтеhttp://www.sport54.ru/photos/ там вместо GET-праметров использую модуль mod_rewrite и потом разбераю строку запроса, выглядит в итоге очень красиво

  Ответить  
 
 автор: serjinio   (10.04.2009 в 08:20)   письмо автору
 
   для: Петр   (09.04.2009 в 15:00)
 

В каком формате удобней хранить фото?
1 хэш.jpg
2 time.jpg
3 имя .jpg
4 id(записи).jpg

Как хранить?
1 хэш на диске...
путь..название (имя)..расширение..ширина и высота ..в БД
2 хэш.jpg на диске
путь..ширина и высота ..в БД

еще варианты....

  Ответить  
 
 автор: Slo_Nik   (10.04.2009 в 11:43)   письмо автору
 
   для: serjinio   (10.04.2009 в 08:20)
 

в БД можно хранить название файла, а для самой фото создаёшь папку, куда загружаешь её.
название папки можно сделать по id группы фотографий, название самой фотографии по времени загрузки фото на сервер.
<?php $image date("YmdHis",time())."$ext"//имя файла, где $ext есть расширение файла?>

  Ответить  
 
 автор: Valick   (10.04.2009 в 13:04)   письмо автору
 
   для: Slo_Nik   (10.04.2009 в 11:43)
 

название самой фотографии по времени загрузки фото на сервер
Ахтунг!!! А если два запроса прийдут одновременно? Чем не устраивает id фотографии из базы для названия файла?

  Ответить  
 
 автор: Slo_Nik   (10.04.2009 в 15:30)   письмо автору
 
   для: Valick   (10.04.2009 в 13:04)
 

да пожалуйста, можно в имя файла ставить его id и добавлять время загрузки, вариантов много...

  Ответить  
 
 автор: Петр   (11.04.2009 в 20:08)   письмо автору
 
   для: Slo_Nik   (10.04.2009 в 11:43)
 

Есть вариант сделать md5 одновременно от времени загрузки, браузера и IP-адреса, но есть вероятность получить совпадение (вероятность очень мала, но всетаки она есть), лучше всего сделать по id записи в БД (даже если однговременно пользователи загрузять фото, то будет два разный id).
На счет папок, то есть некоторые сложности. Удобно будет если при редактировании фото, можно было бы перемещать их в разные альбомы. в таком случае придется перемещать файл на сервере (в общзем-то это возможно).

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования