显示php不起作用的数据库中的img


Display img from database with php not working

我设法将图像上传到数据库(lonblob)中。我有问题显示该图像:

上传:

if(isset($_POST['pic_upload'])){
    if(getimagesize($_FILES['image']['tmp_name']) == FALSE){
        echo "Please select an image.";
    }else{
        $image= addslashes($_FILES['image']['tmp_name']);
        $name= addslashes($_FILES['image']['name']);
        $image= file_get_contents($image);
        $image= base64_encode($image);
        saveimage($name,$image);
    }
}

saveimage(将$image写入数据库字段(类型为longblob))

获取图像:

function get_image($userid){
    $sql = "SELECT * FROM images WHERE user_id = ".$userid."";
    $result = execute_sql($sql);
    return $result;
}

显示图像:

<?php 
    $row = mysqli_fetch_array($img);
    echo '<img height="300" width="300" src="data:image/jpeg;base64,'.base64_encode($row[3]).'">'; 
?>

上传效果很好,但图片没有出现在网站上。

您对它进行了两次编码。

<?php 
    $row = mysqli_fetch_array($img);
    echo '<img height="300" width="300" src="data:image/jpeg;base64,'.$row[3].'">'; 
?>

此外,我建议查看pathinfo(),在上传时找到文件的扩展名?