загрузить изображение php с помощью src - PullRequest
0 голосов
/ 17 мая 2011

Можно ли загрузить изображение, используя:

<img src="image.php?image_id=1">

для image.php:

$image_id = $_GET['image_id']; 
echo "image".$image_id.".png"; 

Ответы [ 6 ]

5 голосов
/ 17 мая 2011

вы должны вернуть действительное изображение, используйте file_get_contents или readfile для получения содержимого изображения и затем выводите его в браузер

 header("Content-Type:image/png");

    $image_id = $_GET['image_id']; 

    if(is_file($file = "image".$image_id.".png") ||  is_file($file = "no_image.png"))
        readfile($file); 
0 голосов
/ 17 мая 2011

один лайнер ....

echo (file_exists($_GET['image_id'])) ? header("Content-Type:image/png").readfile($_GET['image_id']).die() : false;
0 голосов
/ 17 мая 2011

Вы должны изменить тип содержимого заголовка и распечатать содержимое файла изображения. Вот пример для вашего файла image.php:

$image_id = $_GET['image_id']; 
$filename = "image".$image_id.".png"; 
header('Content-Type: image/png');
print file_get_contents($filename);
0 голосов
/ 17 мая 2011

Можно ли загрузить изображение, используйте: <img src="image.php?image_id=1">

Да.URL-адреса являются URL-адресами.Именно контент-тип определяет контент, а не любые символы в самом URL.

$image_id = $_GET['image_id']; echo "image".$image_id.".png";

Не такВы должны либо прочитать файл изображения, а затем вывести его с подходящим типом содержимого, либо перенаправить (с заголовком местоположения) на статическое изображение.

0 голосов
/ 17 мая 2011

Нет, это невозможно.Вместо этого вам придется записать содержимое файла изображения в выходной поток.

0 голосов
/ 17 мая 2011

Если у вас есть содержимое png в базе данных, следуйте другим ответам. Если все, что вам нужно, это идентификатор из базы данных, просто <img src="image<?=$image_id?>.png">

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...