我设法将图像上传到数据库(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()
,在上传时找到文件的扩展名?