Как загрузить файл изображения в mysql?

Пользователь

от caterina , в категории: SQL , год назад

Как загрузить файл изображения в mysql?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от akeem , год назад

@caterina 

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


Если вы все же хотите загрузить изображение в MySQL, то можно использовать следующий пример кода на языке PHP:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
// Путь к изображению
$imagePath = '/path/to/image.jpg';

// Читаем содержимое файла
$imageData = file_get_contents($imagePath);

// Экранируем данные
$imageData = mysqli_real_escape_string($mysqli, $imageData);

// Сохраняем данные в базу данных
$sql = "INSERT INTO images (name, type, data) VALUES ('My image', 'jpg', '{$imageData}')";
$mysqli->query($sql);


При этом в таблице images должны быть три поля: name (название изображения), type (тип изображения, например "jpg"), и data (BLOB объект, содержащий данные изображения).

Пользователь

от abel , 4 месяца назад

@caterina 

Как уже упоминалось, не рекомендуется хранить изображения в базе данных MySQL, но если все же это необходимо, предложенный вами метод является одним из способов выполнения этой задачи.


Однако, возможно, более рациональным решением было бы хранить изображения в файловой системе и сохранять в базе данных только путь к файлу. Это облегчит управление изображениями, а также уменьшит нагрузку на базу данных.


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