-1

可能重复:
php:从二进制数据重新创建并显示图像

我想在我的页面中显示我从这段代码中获得的图像:

$contents = fread($handle, filesize($filename));

我如何显示它?

4

2 回答 2

2

您必须打印出图像的内容并根据文件类型设置正确的标题。

例子:

<?php

$contents = fread($handle, filesize($filename));

header('Content-Type: image/jpeg');
echo $contents;
于 2012-09-18T08:43:59.943 回答
0

如果您已经有一个输出 HTML 的文件,并且您想在该页面中显示图像,则需要使用<img>标签。您可以调用另一个文件来执行其他海报建议的内容以输出内容。但是Content-Type您将输出的内容取决于图像 MIME 类型。如果它是 PNG 文件,那么您将使用不同的标头参数:

<?php

$contents = fread($handle, filesize($filename));

header('Content-Type: image/png'); // or image/gif, depending on what $filename is.
echo $contents;

您的另一个选择是使用data URI内联输出此图像:

这是一个例子:

<?php
// take note that this is for PNG files - just change it to JPG or GIF depending on whatever your image is
$filename = 'image.png';
echo 'The following image is a PNG file... <img src="data:image/png;base64,'.base64_encode(file_get_contents($filename)).'" />';
?>
于 2012-09-18T09:44:26.650 回答