使用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']}");