使用php无法正常显示来自数据库的img

时间:2016-01-10 14:10:28

标签: php html css web

我设法将图像上传到数据库(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写入db字段(类型为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]).'">'; 
?>

上传效果很好,但图片并未在网站上显示。

1 个答案:

答案 0 :(得分:0)

您对其进行了两次编码。

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

此外,我建议您查看pathinfo()finding the extension a file on upload?