Я пытаюсь загрузить изображения в свою базу данных.
Это форма.
<form action='index.php' method='POST' enctype='multipart/form-data'>
<label>Change Profile Pic</label> <br>
<input type='file' name='image'> <input type='submit' name=submitpicture
value='Upload'>
</form>
Это набор функций.
if(isset($_POST['submitpicture']))
{
$link = mysqli_connect('localhost','root','*****','*****');
$image = file_get_contents($_FILES['image']['tmp_name']);
$imagename = ($_FILES['image']['tmp_name']);
$image_size = getimagesize($_FILES['image']['tmp_name']);
if($image_size== false)
{
echo "This is not an image.";
}
else
{
if(!$link) //This links to my database.
{
echo "No link";
}
else
{
$picturedatabase = "INSERT INTO databaseimage ('name','image') VALUES ('name','$image')";if(mysqli_query($link,$picturedatabase));
{
echo "Entered into database";
}
}
}
}
Когда я загружаю изображение, мне возвращают «Введено в базу данных», но когда я проверяю свою базу данных, строк нет. Что я делаю неправильно?
Вместо этого установите изображение следующим образом:
$image= 'data:image/' . $type . ';base64,' . base64_encode(file_get_contents($_FILES['image']['tmp_name']));
Затем, когда вы положите его в качестве изображения src, он будет отображать изображение. Это также уменьшит количество запросов.
Других решений пока нет …