如何用PHP回显Mysql数据库中的图像?

时间:2018-03-03 09:45:43

标签: php html mysql database

我正在学习MYSQL和PHP。我想通过从数据库中检索图像来上传图像并显示图像。一切都很好,但我无法显示图像。请帮我下面是代码。提前谢谢。

<!doctype html>
<html>
<head><title>Image Uploader</title></head>
<body>
    <form action="#" method="post" enctype="multipart/form-data">
        <input type="file" name="file">
        <input type="submit" name="submit">
    </form>
    </body>
</html>

<?php
    $con=mysqli_connect("localhost","root","","logon");
    if(!$con){
        echo "not connected";
    }else{
        echo "connectedsuccessfully";
    }

    if(isset($_POST['submit']))
    {
        $name=$_FILES['file']['name'];
        $image=$_FILES['file']['tmp_name'];

        $sql="insert into image(name,image) values('$name','$image') ";
        $res=mysqli_query($con,$sql);

        $sqli="select image from image";
        $result=mysqli_query($con,$sqli);
        $row=mysqli_fetch_array($result);
        echo "<br>";
        echo '<img src="data:image/jpeg;base64,'.base64_encode( $row['image'] ).'"/>';
    }

输出

enter image description here

2 个答案:

答案 0 :(得分:0)

Akash kumar,你可以使用下面的代码来获取没有扩展名的图片或任何文件名。

$filename = pathinfo($_FILES['picture']['name'], PATHINFO_FILENAME);

并回应它。 !

答案 1 :(得分:0)

您的输出清楚地显示图像的位置不正确。而且你不需要使用base64_encode。 只是

echo '<img src="your_path_iamge/"'.$row[image]
[....]