我有一个PHP页面,可以打开一个jQuery对话框,如:
$( "#editdialog" ).dialog({
autoOpen: false,
title: 'Show photo',
height: 750,
width:900,
modal:true
});
$( ".editer" ).click(function() {
$( "#editdialog" ).load("photo_view.php");
$( "#editdialog" ).dialog( "open" );
$('.ui-widget-overlay').css('background', 'silver');
});
load_photo.php
代码如下:
$sql = "SELECT PHOTO FROM USERS WHERE ID='01'";
$result = mysql_query($sql);
if($result==FALSE) die("error".mysql_error());
$row = mysql_fetch_assoc($result);
header("Content-type: image/jpeg");
echo $row['PHOTO'];
如果我直接浏览load_photo.php
,则会显示图像。
如果我在对话框中加载load_photo.php
页面,则不会显示图像。
这可能是header()
函数的错误吗?
编辑:我添加了一个类似您建议的中间页面。现在对话框加载了photo_view.php,其代码为:
<img src="load_photo.php" width="75" height="75" style="padding:0px;" class="imageborder" onerror="this.src='noimg.jpg'" accept="image/*" />
仍然不起作用,结果相同。在对话框中,img框仍然为空白,直接浏览到photo_view.php,显示图像。
谢谢!
答案 0 :(得分:0)
是的问题是您制作了图像响应(二进制)并且浏览器会显示它,因为它会自动将其放入img
标记。
您应该删除header()
并回复此HTML代码:
echo '<img src="' . $row['PHOTO'] . '">';