Как связать изображения с записями из базы данных? - PullRequest
2 голосов
/ 01 июля 2011

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

ps Я использую CodeIgniter 2 + MySQL.

Ответы [ 2 ]

2 голосов
/ 02 июля 2011

Как вы используете CodeIgniter. Я предполагаю, что вы используете класс загрузки файлов.

После успешного завершения загрузки вы можете использовать

$this->upload->data()

Который в основном возвращает массив, который содержит все данные, относящиеся к загрузке. пример массива

Array
(
    [file_name]    => mypic.jpg
    [file_type]    => image/jpeg
    [file_path]    => /path/to/your/upload/
    [full_path]    => /path/to/your/upload/jpg.jpg
    [raw_name]     => mypic
    [orig_name]    => mypic.jpg
    [client_name]  => mypic.jpg
    [file_ext]     => .jpg
    [file_size]    => 22.2
    [is_image]     => 1
    [image_width]  => 800
    [image_height] => 600
    [image_type]   => jpeg
    [image_size_str] => width="800" height="200"
)

Лучше хранить эти данные в базе данных вместе с идентификатором пользователя, которому принадлежит изображение. И когда вы хотите получить изображения, просто сделайте запрос, где идентификатор пользователя = someint ..

Я думаю, что это решение лучше, чем хранение изображений в БД.

2 голосов
/ 01 июля 2011

Вот учебник для хранения изображений в MySQL с использованием PHP:

http://forum.codecall.net/php-tutorials/6937-tutorial-storing-images-mysql-php.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...