这个问题可能看起来很愚蠢,但如果我得到一个好的答案,我将不胜感激。我知道什么是http标头,我们可以在php中使用header
函数进行更改。假设我有一个 php 文件an_image.php
,它的代码如下:
<?php header('Content-type:image/jpeg'); ?>
<img src="image/flower.jpg">
为什么我得到一个损坏的图标?通过更改header
内容类型,我不是将输出更改为图像吗?
因为我认为img
标签仍然是html
输出,因此当我尝试将html
内容设置为图像内容时,我得到了损坏的图标。
那么content-type:image/jpeg有什么用,在哪里可以使用呢?例如flower.jpg
图片在我的图像文件夹中。如果我创建flower.php
并使用文本编辑器打开flower.jpg
并复制其代码并将其粘贴到flower.php
上,并设置heade
r content-type:image/jpeg
并尝试在浏览器上打开它不起作用说语法错误。
寻找一个好的解释.
要输出的内容的正确内容类型是 text/html
。仅当输出实际图像文件本身的内容时,才应使用 image/jpeg
内容类型。
<?php
header('Content-Type: image/jpeg');
readfile('image/flower.jpg');
常见用途包括在验证用户的权限允许访问受保护文件后让 PHP 脚本输出受保护的文件、跟踪像素(例如,保存一些数据然后提供 1x1 图像)以及提供动态生成的图像。