是 header('Content-Type:text/plain');有必要吗?
2022-08-30 08:31:22
我还没有看到任何区别与否这个头部信息。
我还没有看到任何区别与否这个头部信息。
定义“必要”。
如果您希望浏览器知道文件类型,这是必要的。PHP 会自动将标头设置为如果您不覆盖它,以便您的浏览器将其视为不包含任何 HTML 的 HTML 文件。如果你的输出包含任何HTML,你会看到非常不同的结果。如果您要发送:Content-Type
text/html
<b><i>test</i></b>
Content-Type: text/html; charset=UTF-8
将在浏览器文本中以粗体和斜体显示:
✅ 还行
而会在浏览器中显示如下:Content-Type: text/plain; charset=UTF-8
<b><i>✅ OK</i></b>
TLDR 版本:如果你真的只输出没有特殊字符的纯文本,那么这并不重要,但它是错误的。<
>
PHP默认使用Content-Type,这与它非常相似,这解释了为什么你看不到任何差异。text/html
text/plain
text/plain
如果要按原样输出文本(包括 和 符号),则必须使用内容类型。<
>
例子:
header("Content-Type: text/plain");
echo "<b>hello world</b>";
// Displays in the browser: <b>hello world</b>
header("Content-Type: text/html");
echo "<b>hello world</b>";
// Displays in the browser with bold font: hello world