我有一个.php文件,如下所示:
foreach($stmt->fetchAll() as $array)
{
echo '<div class="thumb" style="width: '.$array['thumb_width'].'px; height: '.$array['thumb_height'].'px;">
<p><a href="showfile.php?image_id='.$array['image_id'].'">
<img src="showthumbs.php?image_id='.$array['image_id'].'" alt="'.$array['image_name'].' /">
</a></p>
<p>'.$array['image_name'].'</p></div>';
}
我正在按照教程here来基本上传和显示图片。当我查看源加载的页面(which you can test out here)时,由于某种原因它没有显示图像。我将showthumbs.php放在与gallery.php相同的位置。我错过了什么?
答案 0 :(得分:1)
问题在于你的showthumbs.php。您需要告诉浏览器页面返回图像。现在,它正在尝试获取图像数据并将其解析为文本。
为此,请将以下行添加到showthumbs.php(在输出图像之前):
header("Content-type: image/jpg");
答案 1 :(得分:1)
我很确定这是相关的......
页面上的:(您尝试用作图片的那个) http://renps.nm3.co/showthumbs.php?image_id=1
你得到了一个回音或者说“我的上帝”并且产生错误......
Warning: Cannot modify header information - headers already sent by (output started at /home/renps/public_html/showthumbs.php:2) in /home/renps/public_html/showthumbs.php on line 41
答案 2 :(得分:0)
你probalby在<?php
标记之前有换行符。这意味着当您尝试设置标头时,已经将某些内容输出到响应正文。并且必须在发送正文之前设置标题。否则你会收到错误:
警告:无法修改标头信息 - 已发送的标头
只需在showthumbs.php中查找<?php
之前的任何字符。我的猜测是它是一个空格或新线。