即使我设置了content-type =" image / jpeg"?为什么我会破坏图像图标?

时间:2014-12-11 16:59:26

标签: php html image http-headers

这个问题可能看起来很傻,但如果我得到一个好的答案,我将不胜感激。 我知道什么是http标头,我们可以使用php中的header函数来更改它。 假设我有一个php文件an_image.php,其代码如下:

<?php header('Content-type:image/jpeg'); ?>
<img src="image/flower.jpg">

为什么我的图标会被破坏?通过更改header内容类型,我不将输出更改为图像?

我认为img标记仍然是html输出,因此我正在尝试将html内容设置为图像内容,因此我会看到损坏的图标。

那么内容类型的用途是什么:image / jpeg以及在哪里可以使用? 例如,flower.jpg图片位于我的图片文件夹中。如果我创建flower.php 并使用文本编辑器打开flower.jpg并复制其代码并将其粘贴到flower.php并设置heade r content-type:image/jpeg并尝试在浏览器上打开它说法语错误。

寻找一个好的解释。

1 个答案:

答案 0 :(得分:2)

您输出内容的正确内容类型为text/html。仅当您输出实际图像文件的内容时,才使用image/jpeg内容类型。

<?php

header('Content-Type: image/jpeg');
readfile('image/flower.jpg');

常见用途包括让PHP脚本在验证用户的权限后允许访问受保护的文件,跟踪像素(保存一些数据然后提供1x1图像),并提供动态生成的图像。

相关问题