使用file_get_contents显示图像

我怎么能显示在php中使用file_get_contents检索到的图像?

我需要修改标题,只是回声或什么?

谢谢!

我需要修改标题,只是回声或什么?

究竟。

发送header("content-type: image/your_image_type"); 以及之后的数据。

您可以使用readfile并输出您可以从getimagesize中获得的图像标题,如下所示:

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

这里应该使用readfile的原因是,它将文件直接输出到输出缓冲区, file_get_contents将文件读入到内存中,这在内容中是不必要的,对于大文件来说可能是密集的。

 $image = 'http://images.itracki.com/2011/06/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答案:为了工作,你需要在variables周围花括号,否则你会得到一个错误。

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