返回一个PHP页面作为图像
我正在尝试读取图像文件(准确地说是.jpeg),并将其“回显”回页面输出,但是却显示了图像…
我的index.php具有这样的图像链接:
<img src='test.php?image=1234.jpeg' />
和我的PHP脚本基本上做到这一点:
1)读取1234.jpeg 2)echo文件内容… 3)我觉得我需要使用mime类型返回输出,但这是我迷路的地方
一旦弄清楚了,我将删除所有输入的文件名,并将其替换为图像ID。
如果我不清楚,或者您需要更多信息,请回复。
回答:
PHP手册包含以下示例:
<?php// open the file in a binary mode
$name = './img/ok.png';
$fp = fopen($name, 'rb');
// send the right headers
header("Content-Type: image/png");
header("Content-Length: " . filesize($name));
// dump the picture and stop the script
fpassthru($fp);
exit;
?>
重要的是您必须发送Content-Type标头。另外,您必须注意不要在<?php ... ?>
标签之前或之后在文件中包含任何多余的空格(例如换行符)。
如注释中所建议,可以通过省略?>
标签来避免脚本末尾出现多余空格的危险:
<?php$name = './img/ok.png';
$fp = fopen($name, 'rb');
header("Content-Type: image/png");
header("Content-Length: " . filesize($name));
fpassthru($fp);
您仍然需要小心避免在脚本顶部使用空格。一种特别棘手的空白形式是UTF-8BOM。为避免这种情况,请确保将脚本另存为“
ANSI”(记事本)或“ ASCII”或“ UTF-8无签名”(Emacs)或类似名称。
以上是 返回一个PHP页面作为图像 的全部内容, 来源链接: utcz.com/qa/398144.html