uzumeti
@uzumeti

Как сделать список сотрудников с фотографиями?

Добрый день!

Помогите пожалуйста выбрать правильное направление.

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

1. Хотел сначала хранить каждое фото сотрудника прямо в базе данных MySQL в виде данных. Ну и выводить его соответственно каждому сотруднику. Прочитал, что это не самое лучшее решение и довольно сложное технически.

2. Все советуют использовать для хранения файлы на сервере и давать в базе данных только ссылку на фото.
Но как автоматизировать этот процесс? Поискал информацию, ничего не нахожу.

Ведь в перспективе нужно, чтобы пользователь мог загрузить нового сотрудника с фото самостоятельно из фронтенда. Очевидно, что пользователь не будет задумываться о правильном названии файлика картинки. А как тогда строить шаблон формирования ссылки для вывода? Ведь все ссылки будут разные. И как вообще тогда можно забрать имя нужного файлика, соответствующее нужному человеку, из директории на сервере для составления ссылки вывода картинки.

Помогите пожалуйста увязать в голове эту путаницу. Возможно ли вообще сделать то, о чем я говорю)?
  • Вопрос задан
  • 299 просмотров
Решения вопроса 1
@zhaar
1. В БД хранить только ссылки на фотографии. Если сотруднику может быть привязано несколько фото (и разного типа, одна в карточке, вторая - для документов, третья - еще для чего-то), то в таблице предусмотреть такую возможность (а-ля набор столбцов photoid, workerid, phototype, photopath).
2. Принимайте фото от пользователя, но при загрузке на сервер называйте его так, как надо. Опять же, вкусовщина, но файлы можно хранить в развернутом дереве, т.е. photos\_workerid_\_photoid1_.jpg, _photoid2_.jpg,_photoid3_.jpg, можно все в одной папке photo\_workerid___photoid_.jpg, главное получить через форму фото, присвоить идентификаторы в БД и их же транслировать в конечное название\путь фотографии.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
iamd503
@iamd503
Верстальщик
BojackHorseman
@BojackHorseman Куратор тега PHP
...в творческом отпуске...
при загрузке файлов стандартизируйте их наименование на сервере, отталкиваясь от идентификаторов пользователей или идентификаторов записей о загруженных файлах в бд.
Ответ написан
Комментировать
@maksam07
2.
Создаем каталог типа uploads/portfolio/

Создаем БД с полями
- fullname (varchar имя сотрудника)
- photo (varchar ссылка/имя файла)

На фронте:
- форма с вводом имени (если надо) и кнопка "добавить файл"

На бекенде:
- Изменение имени файла на рандомное, которого нет в папке uploads/portfolio/ и копирование его в эту папку.
- добавление в mysql записи fullname: имя сотрудника, photo: uploads/portfolio/randomname.png ИЛИ randomname.png (но на фронте дописывать путь к папке с фотками)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы