使用php查看存储在数据库中的图像

时间:2019-04-06 04:31:46

标签: php codeigniter

我正在尝试查看存储在数据库中的图像,而数据库存储的是图像的文件名

这是获取数据的代码

function fetch_data()  
 {  
      ob_start();
      $output = '';  
      $conn = mysqli_connect("localhost", "root", "", "it180p");  
      $sql = "SELECT * FROM incidentreport ORDER BY reportId ASC";  
      $result = mysqli_query($conn, $sql);  
      while($row = mysqli_fetch_array($result))  
      {       
      $output .= '<tr>  
                          <td>'.$row["status"].'</td>  
                          <td>'.$row["school"].'</td>  
                          <td>'.$row["gradeLvl"].'</td>  
                          <td>'.$row["section"].'</td>  
                          <td>'.$row["dateTime"].'</td>  
                          <td>'.$row["incidentType"].'</td>  
                          <td>'.$row["incidentDesc"].'</td>  
                            <td>'.$row["sender"].'</td> 
                          <td>'.$row["invPeople"].'</td>  
                          <td>'.$row["studStatYes"].'</td> 
                            <td>'.$row["studStatNo"].'</td> 
                              <td>'.$row["numInvPeople"].'</td> 
                              <td>'.$row["attachment"].'</td> 
                     </tr>  
                          ';  
      }  
      return $output;  
 }  

这是查看获取的数据的代码

<?php foreach($incidentreports as $report) { ?>
                    <tr>                    
                      <td><?php echo $report["school"]; ?></td>
                      <td><?php echo $report["gradeLvl"]; ?></td>
                      <td><?php echo $report["section"]; ?></td>
                      <td><?php echo $report["dateTime"]; ?></td>
                      <td><?php echo $report["reportDate"]; ?></td>
                      <td><?php echo $report["incidentType"]; ?></td>
                      <td><?php echo $report["incidentDesc"]; ?></td>
                      <td><?php echo $report["invPeople"]; ?></td>
                      <td><?php echo $report["sender"]; ?></td>
                       <td><?php echo $report["studStatYes"]; ?></td>
                      <td><?php echo $report["studStatNo"]; ?></td>
                       <td><?php echo $report["maleCount"]; ?></td>
                        <td><?php echo $report["femaleCount"]; ?></td>
                       <td><?php echo $report["numInvPeople"]; ?></td>
                       <td><?php echo '<img src="uploads/png;base64,'. ( $report["attachment"] ).'"/>'; ?></td>


                    </tr>

当我只放入“附件”时,它仅显示文件名,因此我尝试使用上面的代码。没有任何错误,但图像未加载,仅显示为损坏的img图标。我尝试了其他方法,但目前仍停留在这里,不知道该怎么办。如果有人可以帮助我,我将非常感谢。

2 个答案:

答案 0 :(得分:0)

尝试一下, /png;base64这不被理解,因此已删除

<td><img src="<?php echo base_url('uploads/'.$report["attachment"]); ?>"></td>

如果您没有保存在数据库中,请不要忘记添加扩展名

答案 1 :(得分:0)

<td><img src="<?php echo 'your_image_path/'.$report['attachment']); ?>"></td>

尝试上面的代码。而“ your_image_path”是图像路径。示例:https://localhost/your_project/uploads/ 如果您使用的是codeigniter框架,请遵循M.Hemant的回答。那将解决您的问题。