0

按照这里提到的方法,我可以成功地提供 png、gif 或任何我想要的图像,但由于我无法控制<!DOCTYPE>页面(据我所知)IE9(可能还有其他人)决定“文档模式”是“怪癖”作为默认值。

IE 成功地显示了图像(文档边缘的轻微阴影提供了任何问题的线索)所以也许我应该满足并忽略以这种方式创建的页面的可怕怪癖模式状态。

我的方法类似于上述答案中的方法:

# Other processing that is not output / echoed
# <-- Can something else be sent here to calm IE down?
header('Content-Type: image/png');
readfile($imagePath);

根据 IE 的开发人员工具,这种方法会生成一个如下所示的 HTML 文档:

<html>
    <head>
        <title></title>
    <body>
        <img src="theUrlOfThePage" />

有没有办法在不妨碍发送的方式或我想要输出的图像的情况下调整DOCTYPE(或缺乏) ?header我试图通过DOCTYPE上述过程的各个阶段只是破坏了正确显示图像的能力。

4

1 回答 1

0

使用包含文档类型的标题模板:

<?php
echo <<<HEADER
<!doctype html>
  <html>
     <body>

HEADER;
?>

和一个结束文件的页脚模板:

<?php
echo <<<FOOTER
  </body>
</html>
FOOTER;
?>

在主文件中,包括现有内容和现有内容:

<?php
include('header.php')
include('content.php')
include('footer.php')
?>

使用输出缓冲在内部缓存输出字符串并一次性发送给用户。在长时间运行的脚本中,您还需要定期刷新输出缓冲区,以便将一些反馈发送到 HTTP 客户端。这可以通过 ob_end_flush() 来完成。此函数还关闭输出缓冲,因此您可能希望在刷新后立即再次调用 ob_start()。

Link 标头会很有用,但仅限于 Firefox:

于 2013-10-09T02:33:41.603 回答