Ответ 1
Используйте readfile:
<?php
header('Content-Type: image/jpeg');
readfile('btn_search_eng.jpg');
?>
Я хочу напечатать изображение с помощью тега img, который src является php файлом, script также обработает некоторые действия на сервере. У кого-нибудь есть пример кода?
вот мой тестовый код, но без эффекта
img.html
<img src="visitImg.php" />
visitImg.php
<?
header('Content-Type: image/jpeg');
echo "<img src=\"btn_search_eng.jpg\" />";
?>
Используйте readfile:
<?php
header('Content-Type: image/jpeg');
readfile('btn_search_eng.jpg');
?>
Непосредственно из php fpassthru docs:
<?php
// open the file in a binary mode
$name = './img/ok.png';
$fp = fopen($name, 'rb');
// send the right headers
header("Content-Type: image/png");
header("Content-Length: " . filesize($name));
// dump the picture and stop the script
fpassthru($fp);
exit;
?>
В качестве объяснения вам необходимо передать данные изображения как выходные данные script, не html. Вы можете использовать другие функции, такие как fopen
, readfile
, и т.д. И т.д. И т.д.
"<img src=\"btn_search_eng.jpg\" />"
- недопустимые данные изображения. Вы должны действительно прочитать содержимое btn_search_eng.jpg
и повторить их.
Смотрите здесь различные способы передачи файлов в PHP.
UPDATE
что вы можете сделать, не используя include
, как сказано ниже в комментариях:
попробуйте следующее:
<?
$img="example.gif";
header ('content-type: image/gif');
readfile($img);
?>
Вышеприведенный код находится на этом сайте
Оригинальный ответ
НЕ попробуйте следующее:
<?
header('Content-Type: image/jpeg');
include 'btn_search_eng.jpg'; // SECURITY issue for uploaded files!
?>
Если вы собираетесь использовать header('Content-Type: image/jpeg');
в верхней части вашего script, то выход вашего script должен быть лучше JPEG-изображения! В вашем текущем примере вы указываете тип содержимого изображения, а затем предоставляете вывод HTML.
То, что вы эхом, это HTML, а не двоичные данные, необходимые для создания изображения JPEG. Чтобы получить это, вам нужно либо прочитать внешний файл, либо сгенерировать файл с помощью функций манипуляции с изображениями PHP.