从html格式的数据库获取后图像不显示

时间:2015-08-04 08:32:10

标签: php html mysql html5

在我的页面中,它没有显示图像/ ..在图像中显示空白框 我不知道我哪里错了..

   <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);


 }


 ?>

我被困在这里请帮助我从这里出来

2 个答案:

答案 0 :(得分:0)

也许这会有所帮助: How to display Base64 images in HTML?

您能否以其他方式向我们提供生成的HTML?

也许你必须提供文件的类型,jpg / png:  

答案 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]."' >";

这应该对你有用,因为它对我有用。