在我的页面中,它没有显示图像/ ..在图像中显示空白框 我不知道我哪里错了..
<form action="login.php" method="post" enctype="multipart/form-data">
<input type="text"
<br><br><br>
select image:<input type="file" name="image" size="40" id="image">
<br><small> must be less than 512kb </small>
<br><br> <input type="submit" name="submit" value="submit">
</form>
即使我没有发现任何错误...请让我正确并告诉我为什么它没有显示任何图像
<?php
if(isset($_POST['submit']))
{
if(getimagesize($_FILES['image'] ['tmp_name'])==FALSE)
{
echo "<script> please insert the image </script>";
exit();
}
else
{
$image=addslashes($_FILES['image'] ['tmp_name']);
$name=addslashes($_FILES['image'] ['name']);
$image= file_get_contents($image);
$image= base64_encode($image);
saveimage($name,$image);
}
}
displayimage();
function saveimage($name,$image)
{
$con=@mysqli_connect("localhost","root","","work");
$qry="insert into pics( name, image) values('$name','$image')";
$result= mysqli_query($con,$qry);
if($result)
{
echo"<br> image uploaded";
}
else
{
echo"<br> image not uploaded";
}
}
function displayimage()
{
$con=@mysqli_connect("localhost","root","","work");
$qry= "select* from pics";
$result= mysqli_query($con,$qry);
while($row = mysqli_fetch_array($result))
{
echo"<img height=\"250\" width=\"250\" src=\"data:image;base64,\" '.$row[2].' >";
}
mysqli_close($con);
}
?>
我被困在这里请帮助我从这里出来
答案 0 :(得分:0)
答案 1 :(得分:0)
首先你忘了关闭
<input type="text"
但是,如果你设法将你的图像存储在数据库中,那就好了。
我想在此处通知您编码base64您的图像,因此您希望最终名称太长,当我的意思是长意味着很长时间。所以 确保您的图像数据库类型更大,以适应全名,我建议将其更改为&#34;文本类型&#34;。
你在这里想念的另一件事是通过base64_encode显示你的图像,&#34;你的图像类型&#34;在img标签和行[2]是不合适的改为行[1]或行[&#39;图像&#39;]
将其替换为
echo"<img height='250' width='250' src='data:image/type of image;base64', '".$row[1]."' >";
如果你有不同类型的图像,你可以在显示任何变量之前保存类型,而不是使用该变量。
像
$img_type = 'png or jpg';
echo"<img height='250' width='250' src='data:image/".$img_type.";base64', '".$row[1]."' >";
这应该对你有用,因为它对我有用。