Загрузка и хранение изображений в бд

KODEAK

Полезный
Регистрация
11 Апр 2009
Сообщения
172
Реакции
16
Посоветуйте где почитать, или натолкните на идею реализации хранения и загрузки изображений для каждого пользователя в БД
Я так полагаю что нужно создать отдельную базу банных что бы это реализовать, но не могу понять что нужно именно хранить в базе данных, ссылки на файл ? или что ?
 
Посоветуйте где почитать, или натолкните на идею реализации хранения и загрузки изображений для каждого пользователя в БД
Я так полагаю что нужно создать отдельную базу банных что бы это реализовать, но не могу понять что нужно именно хранить в базе данных, ссылки на файл ? или что ?
либо ссылки на файл либо просто имена файлов зависит от того как эти рисунки выводятся скриптом
 
бинарные поля позволяют хранить фаилы,
текстовые ссылки,
правильнее хранить ссылки, и потом их отдавать пользователю.
например
id|uid|url|description|time
где
id-ключ
uid id пользователя если нужно
url ссыль
description описание если нужно
time время добавления
 
Если файлов у пользователя много, целесообразно каждому юзеру отвести папку типа /userimages/1/. Если файлов немного, например только аватарки, можно не делить по папкам и кидать в общую.

При загрузке файла на сервер файл помещается во временную директорию и находится там до окончания работы скрипта. Потом он удаляется. Обычно его из временной директории помещают в нужную функциями move_uploaded_file() или copy(). Файлу присваивается новое имя что-то типа 32А321АА6DEC11.расширение. Такие случайные имена генерируются скриптом с обязательной проверкой на существование такого в данной папке. Иначе в случае совпадения можно затереть уже существующий. Именно это случайное имя в случае успешнного копирования/перемещения записывается в БД.
 
дополню - если картинка всего одна (к примеру аватарка), то можно вообще обойтись без базы...
достаточно после загрузки файла переименовать его так же как и логин пользователя - я надеюсь логины вы проверяете при регистрации, чтобы не было одинаковых?

т.е. путь к картинке получится вида хттп://сайт.ком/папка_с_картинками/логин_юзера.jpg
 
t3s - такой вариант не подойдет, так как изображений много.
Поповоду шелов, обрезов изображение на 2% и пересоздав его можно будет обезопаситься от этого ?
 
Поповоду шелов, обрезов изображение на 2% и пересоздав его можно будет обезопаситься от этого ?
если вас интересуют вот такие методы

то да
кроме того не забывайте что тип файла и расширение - абсолютно разные вещи... лучше всего проверить и то и другое
 
t3s - такой вариант не подойдет, так как изображений много.
Поповоду шелов, обрезов изображение на 2% и пересоздав его можно будет обезопаситься от этого ?
если правильно проставишь права на файлы и папки, будет уже все равно что тебе зальют.
 
мелкие аватарки без больших, можно в бд держать вариант чтения картинки file_get_contents и перегон ее в base64_encode, далее залив в бд

но лучше все кета держать 1 линк на картинки и отдавать скриптом как указывалось выше
 
мелкие аватарки без больших, можно в бд держать вариант чтения картинки file_get_contents и перегон ее в base64_encode, далее залив в бд

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