【问题标题】:Retrieving image file location from database not displaying从数据库中检索图像文件位置不显示
【发布时间】:2014-09-10 06:39:25
【问题描述】:

好的,这就是我要做的...我希望能够将图片上传到指定的文件夹,并将路径插入到数据库中(那部分已经完成) 然后我需要从数据库中提取图像并将它们显示在 index.php 页面上。我知道这是一个简单的过程,但我必须遗漏一些东西。(grrr)我似乎无法让图像显示在 index.php 页面上,我可以在 getimage.php 上显示文件位置并回显图像,但似乎无法将位置引用到 img src 并使其显示在 index.php 上

下面是 index.php 页面的代码: 我希望能够从 getimage.php 中提取图像并将图像显示在 index.php 页面上。

<a href="gallery.html">
<img src="getimage.php?id=18" alt="" width="200" height="133" /></a>

这里是getimage.php页面:

<?php
  include("connect.php");
  $id = mysql_real_escape_string($_GET['id']);
  $sql = mysql_query("SELECT * FROM pictures WHERE p_id='$id'");
  while($row = mysql_fetch_array($sql))
  {
  header("content-type :image/jpeg");
  $image = $row['image'];
  echo $image;
  }
?>

所以这个脚本要做的是: 索引页面上有3张图片,数据库中会为它们预设插槽。用户可以随时通过上传另一张照片来更改这 3 张照片(上传脚本会将旧照片更新为新照片。)这些照片将通过他们的 ID 显示。

我可以简单地运行 3 个查询,每个 ID 1 个,但我想也许我错过了一种更简单的方法。

非常感谢您的帮助...谢谢。

(是的,我知道 SQL 注入和弃用)

【问题讨论】:

  • 为什么要为一行使用循环?
  • 为获取文件路径而不是新文件创建函数,因为它不是这样调用文件

标签: php mysql image


【解决方案1】:

您的代码绝对不正确。您必须将行更改为:

echo '<img src="data:image/jpeg;base64,'
         .base64_encode($image['file_data']).'" width=300 height=200/>";

【讨论】:

    猜你喜欢
    • 2014-10-02
    • 1970-01-01
    • 2011-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-23
    • 2019-04-22
    相关资源
    最近更新 更多