2011-09-29 69 views
0

,这里是我的图像显示的代码 -不能在PHP中显示图像

$username = "xxxxxxxx"; 
$password = "xxxxxxxx"; 
$host = "000.001.000.000"; 
$database = "xxxxxxxx"; 

@mysql_connect($host, $username, $password) or die("Can not connect to database:   ".mysql_error()); 
@mysql_select_db($database) or die("Can not select the database: ".mysql_error()); 
$query = mysql_query("SELECT mimetype, Image FROM table ORDER BY id DESC LIMIT 0,1"); 
$row = mysql_fetch_array($query); 
$content = $row['Image']; 
header('Content-type: image/jpg'); 
echo $content; 

这是我得到

的图像错误“HTTP:// WWW ....”无法显示因为它包含错误。

有什么不对?在mysql中字段的数据类型是MEDIUMBLOB

+0

图像文件有多大?它在被添加到数据库之前是否被编码(例如,mysql_escape_chars?)? – Rasika

+0

什么样的错误? –

+2

你确定你所显示的图片是JPEG吗?你正在获取mimetype和image,但是没有使用mimetype - 它告诉我你可能会存储多个文件类型(gif/jpg/png等等) – dan

回答

1

OK,第一个测试,看看发生了什么:

$username = "xxxxxxxx"; 
$password = "xxxxxxxx"; 
$host = "000.001.000.000"; 
$database = "xxxxxxxx"; 

if(!mysql_connect($host, $username, $password)) 
    die('Unable to connect to Server: '.mysql_error()); 
if(!mysql_select_db($database)) 
    die('Can not select the Database: '.mysql_error()); 

$query = mysql_query("SELECT mimetype, Image FROM table ORDER BY id DESC LIMIT 0,1"); 

if(!$query) 
    die('Query Failed: '.mysql_error()); 
if(mysql_num_rows($query)==0) 
    die('Query Returned No Records'); 

$row = mysql_fetch_array($query); 

echo '<pre>'; 
var_dump($row); 
echo '</pre>'; 

那笑或者向您显示数据库的结果或错误消息。如果你看到一个错误信息,正确任何原因造成的?

以上后刚刚返回数据库行的内容:

$username = "xxxxxxxx"; 
$password = "xxxxxxxx"; 
$host = "000.001.000.000"; 
$database = "xxxxxxxx"; 

if(!mysql_connect($host, $username, $password)) 
    die('Unable to connect to Server: '.mysql_error()); 
if(!mysql_select_db($database)) 
    die('Can not select the Database: '.mysql_error()); 

$query = mysql_query("SELECT mimetype, Image FROM table ORDER BY id DESC LIMIT 0,1"); 

if(!$query) 
    die('Query Failed: '.mysql_error()); 
if(mysql_num_rows($query)==0) 
    die('Query Returned No Records'); 

$row = mysql_fetch_array($query); 

header('Content-type: '.$row['mimetype']); 
echo $row['Image']; 

(假设mimetype场是类似“图像/ JPG” )

0

我建议你输出之前增加一个Content-Length头:

header("Content-length: " . strlen($content)) 
0

我建议改变标题,使其动态取决于图像MIME型:

header('Content-type: '.$row['mimetype']);