2010-06-19 5 views
1

Рассмотрим следующий кодПроблема с заголовком в PHP

<?php 

$username = "root"; 
$password = ""; 
$host = "localhost"; 
$database = "binaries"; 

@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()); 

$id = 5; 

if(!isset($id) || empty($id)){ 
die("Please select your image!"); 
}else{ 

$query = mysql_query("SELECT * FROM tbl_images WHERE id='".$id."'"); 
$row = mysql_fetch_array($query); 
$content = $row['imag']; 
header('Content-type: image/jpg'); 
echo '<table><tr><td height="700" width="700">';// Line X 
print $content; 

echo '</td></tr></table>';//Line Y 

} 

?> 

Когда я комментирую линии X и Y получает отображается изображение, в противном случае not.What может быть возможной причиной?

EDIT: Следуя совету Мэтта.

show.php

echo '<table><tr><td> 
    <img src="image.php"/> 
    </td></tr></table>'; 

image.php

$query = mysql_query("SELECT * FROM tbl_images WHERE id='".$id."'"); 
$row = mysql_fetch_array($query); 
$content = $row['imag']; 
header('Content-type: image/jpg'); 

print $content; 

Даже после того, как делать это я не получаю ожидаемого результата.

EDIT: код «image.php»:

<?php 
    $username = "root"; 
    $password = ""; 
    $host = "localhost"; 
    $database = "binaries"; 

    @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 * FROM tbl_images WHERE id=5"); 
$row = mysql_fetch_array($query); 
$content = $row['imag']; 
header('Content-type: image/jpg'); 
echo $content; 

?> 

ответ

9

Потому что, когда браузер рассказана тип MIME является image/jpg, последнее, что он ожидает увидеть это <table ...

Когда ты установите тип MIME, вы сообщаете браузеру «Я посылаю вам изображение». Однако разметка HTML - это, конечно, не данные изображения, поэтому браузер не знает, как его отобразить.

+0

+1 Файл/поток данных является либо «image/jpg», либо «text/html», а не обоими. – MvanGeest

+0

Как мне отобразить изображение внутри таблицы? – Satish

+1

@Satish отдельный запрос должен посылать таблицу, в которой есть '' – Matt

Смежные вопросы