PHP 怎么PHP 内容类型

wen PHP项目 2

本文目录导读:

PHP 怎么PHP 内容类型

  1. 使用 header() 函数设置(最常用)
  2. 注意事项
  3. 完整示例
  4. 检测当前内容类型

在 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 响应头,上面就是完整的处理方式,需要更具体的场景可以告诉我,我可以提供针对性示例。

抱歉,评论功能暂时关闭!