Добавление миниатюр изображений для сохранения в базе данных MySQL - PullRequest
0 голосов
/ 20 апреля 2019

Вот код для добавления изображения большого пальца. Он хорошо читает изображение, и даже когда я сохраняю миниатюру в папке, он отлично работает. Я просто не могу сохранить его в базе данных. $ X является счетчиком в цикле.

Если я читаю изображение и сохраняю его в базе данных без изменения размера, оно работает, но не после изменения размера.

// Create the thumbnail

$picture = "images/" . str_replace(" ", '%20', $images[$x]);
$image = file_get_contents("$picture");
$source = imagecreatefromstring($image);

$width = imagesx($source);
$height = imagesy($source);

$thumb = imagecreatetruecolor($newWidth, $newHeight);
imagecopyresampled($thumb, $source, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);

echo "image created";

// End thumbnail creation


$thumb = mysql_real_escape_string($thumb);
$query = "UPDATE tablename SET thumb = '$thumb' WHERE id = $x";

$result = mysql_query($query);

1 Ответ

0 голосов
/ 21 апреля 2019

Вы должны установить для столбца базы данных значение Binary Large OBject (BLOB).Поскольку вы не можете загружать изображения в базу данных, вы должны преобразовать изображение в двоичный формат и затем загрузить его.Предположим, вы получаете это из формы, которая является вашим PHP-кодом.

<?php
if(isset($_FILES['image']['name'])){
// *** Add your validation code here *** //
// Include Connection
     include_once('conn.php');

 // Get Image
 $name = $_FILES['image']['name'];
 $type = $_FILES['image']['type'];
 $get_content = file_get_contents($_FILES['image']['tmp_name']);
 $escape = mysql_real_escape_string($get_content);
 $sql = "INSERT INTO `img`.`dbimg` (`ID`, `name`, `src`, `type`) VALUES (NULL, '$name', '$escape', '$type');";
 if(mysql_query($sql)){
 echo 'Image inserted to database';
 }else{
 echo 'Error data inserting';
 }
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...