Показать изображение с помощью file_get_contents

как я могу отобразить изображение, полученное с помощью file_get_contents в php?

Нужно ли мне изменять заголовки и просто эхо или что-то еще?

Благодаря!

Нужно ли мне изменять заголовки и просто эхо или что-то еще?

в точку.

Отправить header("content-type: image/your_image_type"); и данные впоследствии.

Вы можете использовать readfile и выводить заголовки изображений, которые вы можете получить из getimagesize следующим образом:

 $remoteImage = "http://img.ruphp.com/php/logo.gif"; $imginfo = getimagesize($remoteImage); header("Content-type: {$imginfo['mime']}"); readfile($remoteImage); 

Причина, по которой вы должны использовать readfile, заключается в том, что он выводит файл непосредственно в выходной буфер, где file_get_contents будет считывать файл в память, который не нужен в этом контенте и потенциально интенсивен для больших файлов.

 $image = 'http://img.ruphp.com/php/favicon.png'; // Read image path, convert to base64 encoding $imageData = base64_encode(file_get_contents($image)); // Format the image SRC: data:{mime};base64,{data}; $src = 'data: '.mime_content_type($image).';base64,'.$imageData; // Echo out a sample image echo '<img src="' . $src . '">'; 

Вы можете это сделать, или вы можете использовать функцию readfile , которая выводит ее для вас:

 header('Content-Type: image/x-png'); //or whatever readfile('thefile.png'); die(); 

Изменить: Derp, фиксированная очевидная ослепительная опечатка.

вы можете сделать вот так:

 <?php $file = 'your_images.jpg'; header('Content-Type: image/jpeg'); header('Content-Length: ' . filesize($file)); echo file_get_contents($file); ?> 

Небольшое редактирование для ответа @seengee: для работы вам нужны фигурные скобки вокруг переменной, иначе вы получите сообщение об ошибке.

header("Content-type: {$imginfo['mime']}");