无法在动态页面中显示图像

时间:2011-10-26 07:33:31

标签: php mysql

我似乎无法正常显示我的图像。以前,我使用了以下代码片段,它运行良好。

catalog.php(完美地工作):

<p class="image">
<a href="synopsis.php?id=<?php echo $row['id']; ?>">
<img src="getImage.php?id=<?php echo $row['id']; ?>" alt="" width="175" height="200" />
</a>
</p>

synopsis.php(根本不显示图片):

<?php

$id = $_GET['id'];
...?>
<p class="image">


<img border="0" class="floatleft" src="getImage.php?id=<?php echo $row['id']; ?>" width="250" height="400" />


<?php echo $row['synopsis']; ?>
</p>

其中getimage.php:

<?php

$id = $_GET['id'];

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

header("Content-type: image/jpeg");
echo file_get_contents($row['dvdimage_path']);

?>

知道为什么我不能显示这张图片?

编辑1: 所以在调试之后,我收到一条错误消息:

Undefined index: id in C:\xampp\htdocs\synopsis.php on line 106

所以我在echo $ row ['id']之前将以下代码添加到php代码中:

<p>getImage.php?id=<?php error_reporting(0); echo $row['id']; ?></p>

然而, 我得到的段落只是getImage.php?id=

然后,我进入了synopsis.php - &gt; <img border="0" class="floatleft" src="getImage.php?id=<?php echo $row['id']; ?>

并将其更改为:

<img border="0" class="floatleft" src="getImage.php?id=2">

同样,同样的问题发生了,我无法得到具体的图像。

我怀疑我的getimage.php文件出了问题。但是,当我使用代码片段时,这个getimage.php文件对其他页面工作正常。

我的要求非常简单: 在catalog.php中,我使用while循环从dvd数据库填充图像和文本。然后,这些图像中的每一个都具有其特定的主ID。当我点击图片时,他们会转到链接:synopsis.php?id =“primaryid”然后,使用这个“primaryid”我应该能够使用getimage.php?“primaryid”在synopsis.php上生成图像页。

编辑2: 实际上,我在某处发生了语法错误。所以这一行:

<img border="0" class="floatleft" src="getImage.php?id=2">

工作正常,这意味着错误位于我无法正确回显'id'的地方。

编辑3:

我已经包含了相关源代码的链接:

catalog.php

synopsis.php

getimage.php

sortmenu.css

style.css

database in xml format

2 个答案:

答案 0 :(得分:0)

问自己的问题:

  1. 是否真的需要使用php脚本来模仿图像?如果没有,只需使用图像路径。
  2. header()之前是否有任何输出; getimage.php文件中的函数?即使只是一个空间之前
  3. 图像实际上是JPEG吗?
  4. 当您在浏览器中访问getimage.php?id = ID时,是否会出现任何错误?

答案 1 :(得分:0)

在synopsis.php中,您从查询字符串中获取id,但随后尝试使用数据库值。我无法看到您的所有代码,所以即时发布解决方案以涵盖两种情况

src="getImage.php?id=<?php echo $row[$id]; ?>"

System.Drawing.Bitmap