本文目录导读:

在 PHP 中,“内容类型”(Content-Type)通常指 HTTP 响应头中的 Content-Type 字段,用于告诉浏览器或客户端返回的数据是什么格式(如 HTML、JSON、图片等)。
以下是 PHP 中设置内容类型的常见方法:
使用 header() 函数设置(最常用)
设置 HTML 内容类型(默认)
header('Content-Type: text/html; charset=utf-8');
设置 JSON 内容类型(API 接口常用)
header('Content-Type: application/json; charset=utf-8');
设置纯文本
header('Content-Type: text/plain; charset=utf-8');
设置 XML
header('Content-Type: application/xml; charset=utf-8');
设置图片(如 PNG)
header('Content-Type: image/png');
// 然后输出图片二进制数据
设置 PDF
header('Content-Type: application/pdf');
设置文件下载
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="file.pdf"');
注意事项
- 必须在任何输出之前调用:
header()必须在输出任何内容(包括空格、HTML 标签、echo等)之前调用,否则会报错。 - 使用输出缓冲:如果需要在输出后设置 header,可以开启输出缓冲(
ob_start())。 - 设置字符编码:建议同时指定
charset避免乱码问题。
完整示例
输出 JSON 数据
<?php
header('Content-Type: application/json; charset=utf-8');
$data = [
'name' => '张三',
'age' => 25,
'city' => '北京'
];
echo json_encode($data, JSON_UNESCAPED_UNICODE);
输出 HTML
<?php
header('Content-Type: text/html; charset=utf-8');
?>
<!DOCTYPE html>
<html>
<head>PHP 页面</title>
</head>
<body>
<h1>你好,世界!</h1>
</body>
</html>
检测当前内容类型
echo headers_list(); // 查看所有已设置的 header
如果你遇到的是 PHP 代码本身的“内容类型”(比如如何检测变量类型),可以使用:
$var = "hello"; echo gettype($var); // string var_dump($var); // 输出类型和值
但通常“PHP 内容类型”指的是 HTTP 响应头,上面就是完整的处理方式,需要更具体的场景可以告诉我,我可以提供针对性示例。