Форум программистов, компьютерный форум, киберфорум
Наши страницы

PHP для начинающих

Войти
Регистрация
Восстановить пароль
 
sasha0012
114 / 114 / 64
Регистрация: 21.06.2012
Сообщений: 572
#1

Как правильно спроектировать динамические фото-галереи? - PHP

23.08.2017, 13:58. Просмотров 117. Ответов 4
Метки нет (Все метки)

Всем привет! Есть проект в котором предусмотрено добавление фотографий к определенному объекту (аналог галерей досок объявлений). Естественно объектов может быть сколько угодно и фотографий объекта так-же может быть сколько угодно.

Вопрос в том как организовать структуру хранения фотографий с привязкой к объектам? В БД хранить фото не рационально, остается вариант с хранением в папке. В таком случае как правильнее присваивать имена файлам? Создавать для каждого объекта новую (именную) папку, или все фото хранить в одной папке? Как избежать повтора названий, и как определить сколько файлов (фото) принадлежат тому или иному объекту?

В общем, у кого есть опыт, поделитесь пожалуйста.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.08.2017, 13:58
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как правильно спроектировать динамические фото-галереи? (PHP):

Как спроектировать вложенные под форумы? - PHP
Всем привет, проблема такая: в index.php выводится список форумов (генерируются ссылки типа /topic.php?forumId=1), на topic.php уже...

Удаление пути к фото в базе и самого фото в дирректории одновременно. - PHP
Приветствую всех! Такая проблема: пользователь может загрузить фото, при этом оно ресайзится на два размера, например 150х100 и...

При нажатии на фото снизу оно замещало фото в окне сверху над ним - PHP
Здравствуйте подскажите кто сталкивался, как реализовать: при нажатии на фото снизу оно замещало фото в окне сверху над ним? Образец во...

Наложение текста на фото при загрузке фото на сайт - PHP
я вот хочу на движке Discuz сделать так чтобы например я загружаю фото и на фото накладывается текст автоматический ссылка моего сайта как...

Скрипт по загрузке фото не загружает больше 100 фото - PHP
if(isset($_POST) && trim( $_POST ) != '' ) { mysqli_query($connection, "INSERT INTO `foto` SET `title` =...

Спроектировать базу данных картинной галереи - MS Access
Спроектировать базу данных картинной галереи.

4
andyyy
156 / 154 / 58
Регистрация: 26.05.2016
Сообщений: 1,066
23.08.2017, 14:21 #2
можно все в одной, естественно название всегда разное,
можно создавать каждую папку и внутри фото - с таким вариантом потом тяжелее сканировать файлы(например для админ панели)

Добавлено через 4 минуты
Цитата Сообщение от sasha0012 Посмотреть сообщение
Как избежать повтора названий
присваивать рандомное число
Цитата Сообщение от sasha0012 Посмотреть сообщение
и как определить сколько файлов (фото) принадлежат тому или иному объекту?
если в одной -то например создавать файл с индефикатором , например раздел кошки тогда названия файлов могут быть
типо cat01230123021.jpg

если на каждую папку -то там легче просто сканируйте папку потом и все
0
sasha0012
114 / 114 / 64
Регистрация: 21.06.2012
Сообщений: 572
23.08.2017, 18:11  [ТС] #3
Цитата Сообщение от andyyy Посмотреть сообщение
присваивать рандомное число
Но ведь рандомное число может повториться (хоть и маловероятно, но все-же)...

Цитата Сообщение от andyyy Посмотреть сообщение
названия файлов могут быть типо cat01230123021.jpg
А как потом сканировать папку на наличие файлов с именем cat* чтобы определить сколько картинок есть для этого объекта?
0
Зверушь
397 / 316 / 52
Регистрация: 01.05.2010
Сообщений: 1,570
23.08.2017, 18:20 #4
Цитата Сообщение от sasha0012 Посмотреть сообщение
Но ведь рандомное число может повториться (хоть и маловероятно, но все-же)...
Как вариант имя - это текущая дата и время + рандомное число.
PHP
1
$name = date("YmdHis").mt_rand(1, 9999999);
Добавлено через 55 секунд
Ну а вообще после генерации имени нужно проверить, нет ли файла с таким именем И если есть, то сгенерировать новое имя.
1
andyyy
156 / 154 / 58
Регистрация: 26.05.2016
Сообщений: 1,066
23.08.2017, 20:25 #5
Да вам написали, обычно ставят дату плюс рандомное число, дата идет вперед и не повторяется, в принципе можно только дату, но рандомное число тоже ставится(скорее всего для безопасности)
Да и вам написали, что сначала делайте сканирование на выявление повторов.

Насчёт, как найти файл cat, вы также сканируйте, а потом через какуюнибудт функциб проверяйте, первые три буквы в название файла, и делайте условие,

Добавлено через 1 минуту
Типо того:
Найти все файлы где первые три буквы равно cat и вывести
1
23.08.2017, 20:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.08.2017, 20:25
Привет! Вот еще темы с ответами:

Как правильно спроектировать бд - Delphi БД
Добрый день. Сейчас бд имеет следующий вид https://yadi.sk/i/KtbpmkFvs5SqT Суть проекта - была брать товары в аренду. Потом...

Как правильно спроектировать Класс - C#
Помогите пожалуйста, как правильно описать такой вот класс , С# начал учить дней 5 назад ((( : Два информационных поля и одно служебное...

MVC. Как правильно спроектировать - Ruby on Rails
Добрый вечер.

Как спроектировать систему правильно? - Java
Добрый день! Начал разработку ИС "Ребусы и загадки" В связи с чем возникли вопросы. У меня есть 2 класса: -Класс описывающий...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru