【问题标题】:How to retrieve image from database and display image on the web page如何从数据库中检索图像并在网页上显示图像
【发布时间】:2016-07-25 06:08:45
【问题描述】:

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

检索代码如下

$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>

【问题讨论】:

标签: php mysql


【解决方案1】:

我假设 $rows['pic_name'] 的内容只是您问题中所说的字符串。

放一个图片属性,调用图片路径对应的文件名保存到数据库中。

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

注意

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

【讨论】:

    【解决方案2】:

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

    <?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>
    

    【讨论】:

    • 你不认为上面给出的 cmets 说明了同样的事情吗? BTY 不必要的代码
    • 像这样使用表格格式化显示是非常糟糕的代码,应该使用CSS并使用div标签并正确格式化。
    【解决方案3】:

    使用图片标签显示图片并指定图片文件夹路径

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

    【讨论】:

    • 我认为在您的评论中它返回的图像路径不显示它。
    • ( ) 这是您的评论。
    • 我不认为它会显示图像。
    【解决方案4】:

    朋友,而不是创建图像文件夹,您应该创建一个新的图像列(即“imageColumn”)类型为 blob 然后 您需要创建另一个 php 脚本来返回图像数据,例如获取图像.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 '];
    ?>
    

    【讨论】:

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

      $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;'>";
      

      【讨论】:

        猜你喜欢
        • 2015-10-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-11
        • 2015-11-23
        • 1970-01-01
        • 1970-01-01
        • 2014-06-15
        相关资源
        最近更新 更多