我设法将图像上传到数据库(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]).'">';
?>
上传效果很好,但图片并未在网站上显示。
答案 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?