如何从数据库中检索图像并在网页上显示图像

时间:2016-07-25 06:08:45

标签: php mysql

我已将图像插入数据库并在表中存储名称。 我的图片保存在名为“上传”的文件夹中。 现在需要从数据库中检索图像并显示它。当我尝试显示它时只显示从我的表中获取的图像名称。但它不显示图像。

检索代码如下:

$sql="SELECT * FROM candi_profile WHERE can_email='{$_SESSION['usr_email']}'";

$result=mysqli_query($con,$sql);
if(!$result) die(mysqli_error($con));
  <div class="container">

        <!-- Page Header -->
        <div class="row">
            <div class="col-lg-12">
                <h1 class="page-header">Employer Dashboard 

                </h1>
            </div>
        </div>
        <!-- /.row -->

        <!-- Projects Row -->

        <div class="row">
            <div class="col-md-4">
        <?php
          while($rows=mysqli_fetch_array($result)){
              $c_id = $rows['can_id'];
            var_dump($c_id);
             ?>

            <p class="lead"><?php echo $rows['can_name'] ?></p>
            <div class="profile-sidebar">
                <!-- SIDEBAR USERPIC -->

                <div class="profile-userpic">
                        <p class="lead">
                         <?php echo $rows['pic_name'] ?></p>
                </div>

                <!-- END SIDEBAR USERPIC -->

                <!-- SIDEBAR USER TITLE -->
                <div class="profile-usertitle">
                    <div class="profile-usertitle-name">
                        Marcus Doe
                    </div>
                    <div class="profile-usertitle-job">
                       <?php echo $rows['can_city'] ?>
                   <i class="glyphicon glyphicon-map-marker">
                        </i>
                    </div>

                    <div class="profile-usertitle-job">
                         <i class="glyphicon glyphicon-envelope"></i>
                      <?php echo $rows['can_email'] ?>
                    </div>

                    <div class="profile-usertitle-job">
                        <?php echo $rows['can_country'] ?>
                    </div>
                </div>
                <!-- END SIDEBAR USER TITLE -->

                <!-- SIDEBAR BUTTONS -->
                <div class="profile-userbuttons">
                    <hr>
                </div>

                <!-- END SIDEBAR BUTTONS -->
                <!-- SIDEBAR MENU -->

            <?php
            }
            ?>          
            </div>

enter image description here enter image description here

5 个答案:

答案 0 :(得分:1)

使用图像标记显示图像并为其提供图像文件夹的路径

<img src="your path/<?php echo $rows['pic_name'] ?>" />

答案 1 :(得分:1)

我认为 $ rows ['pic_name'] 的内容仅为您提问时的字符串。

放置一个图像属性并调用图像的路径,并在数据库中保存相应的文件名。

<img src = "<path>/<?php echo $rows['pic_name'] ?>" />

注意

确保图像存在于您想要的路径上。

答案 2 :(得分:0)

您可以使用此代码从数据库中检索图像

<?php
include 'connection.php'
?>
<?php

$result = mysql_query("SELECT * FROM table") or die(mysql_error()); 


?>

<table border="1" cellpadding="5" cellspacing="5">
<tr> <th>Image</th></tr>

<?php

while($row = mysql_fetch_array($result)) {

$id = $row['id'];

?>
    <tr>

        <td><img src="uploads/<?php echo $row['pic_name'];?>" alt=" " height="75" width="75"></td>

   </tr>

<?php   
} 
}

?>
</table>

答案 3 :(得分:0)

朋友而不是制作图片文件夹你应该创建一个新的图像列(即“imageColumn”)类型为blob然后 您需要创建另一个PHP脚本来返回图像数据,例如getImage.php。

home.php(或显示图片页面)代码

<body>
<img src="getImage.php?id=1" width="175" height="200" />
</body>

然后getImage.php是

<?php

  $id = $_GET['id'];
  // do some validation here to ensure id is safe

  $link = mysql_connect("localhost", "root", "");
  mysql_select_db("dvddb");
  $sql = "SELECT imageColumn FROM Tablename WHERE id=$id";
  $result = mysql_query("$sql");
  $row = mysql_fetch_assoc($result);
  mysql_close($link);

  header("Content-type: image/jpeg");
  echo $row['imageColumn '];
?>

答案 4 :(得分:0)

  1. 首先使用查询从数据库中获取图像
  2. imagejpeg()函数是PHP中的内置函数,用于将图像显示到浏览器或文件中。
  3. 使用函数ob_get_contents();
  4. 获取数据
  5. 在页面中显示图像的高度和宽度

$id = $_GET['id'];    
$sql = "select image from table where id='".$id."'";    
$res = mysqli_query($sql);    
$row = mysqli_fetch_assoc($res);    

$image = $row['image'];    
ob_start();    
imagejpeg($image, null, 50);        
$data = ob_get_contents();    
ob_end_clean();    
echo "<img src='data:image/jpg;base64,'".base64_encode($data)."' style='border:1px 
black; border-radius:10px; width:100px; height:125px;'>";