使用file_get_contents显示图像

2022-08-30 10:06:22

如何在php中显示使用file_get_contents检索到的图像?

我是否需要修改标题并仅回显它或其他东西?

谢谢!


答案 1

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

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

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


答案 2
$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 . '">';

推荐