无法使用php文件将图像插入数据库

时间:2018-10-04 09:07:17

标签: php

当我也单击上载按钮时,数据库中的图像列为空白...。我尝试使用$ _POST ['images']然后将图像存储在db中,但没用,错误是:

<code>
<html>
<head>
    <title> Image testing...</title>
</head>

<body>
    <form method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
        <input type="file" name="images" id="images" accept="image/png, image/jpeg" />
        <input type="submit" name="submit" value="Upload" />
    </form>
</body>

</html>

<?php 
    $conn = mysqli_connect('localhost', 'root', '', 'test_event');
if(isset($_POST['submit']))
{    
    $image = addslashes(file_get_contents($_FILES['images']['tmp_name']));
    $query = "INSERT INTO products (id,image) VALUES('','$image')";
    $qry = mysqli_query($conn,$query);
    $sql = "SELECT * FROM products";
    $sth = $conn->query($sql);
    $result = mysqli_fetch_array($sth);
    echo '<img src="data:image/jpeg:base64,'.base64_encode($result['image']).'"/>';
}
else{
    echo "error";
}
?>
</code>
  

注意:未定义索引:C:\ xampp \ htdocs \ admin \ image.php中的图像   第17行           警告:file_get_contents():文件名不能为空           C:\ xamp enter code here p \ htdocs \ admin \ image.php第17行**

2 个答案:

答案 0 :(得分:1)

添加

enctype="multipart/form-data" 

到您的表单标签。

<form method="post" action="<?php $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">

更多信息

https://www.w3schools.com/tags/att_form_enctype.asp

答案 1 :(得分:0)

您需要在表单中添加enctype标签,以告诉PHP和浏览器如何解释表单数据。

<form method="post" action="<?php $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">
    <input type="file" name="images" id="images" accept="image/png, image/jpeg" />
    <input type="submit" name="submit" value="Upload" />
</form>

然后,文件元数据将位于$_FILES['images']