Перейти к содержимому

Функция PHP header(): Всё, что вам нужно знать

Как PHP-разработчик, вы можете столкнуться с необходимостью управления HTTP-заголовками в вашем веб-приложении. Функция header() — это мощный инструмент, позволяющий устанавливать HTTP-заголовки в ваших PHP-скриптах. В этом руководстве мы рассмотрим синтаксис, ключевые параметры и типичные варианты использования функции header().

Что такое функция header()?

Функция header() — это встроенная функция PHP, которая позволяет отправлять сырые HTTP-заголовки клиенту.

Как использовать функцию header()

Использование функции header() довольно просто. Вот её синтаксис:

PHP-синтаксис функции header()

php
header(string $header, bool $replace = true, int $response_code = 0);

Функция принимает три параметра:

  • string: Строка заголовка, которую необходимо отправить.
  • replace: Логическое значение, указывающее, следует ли заменять предыдущие заголовки с тем же именем. По умолчанию true.
  • code: Код ответа HTTP, который нужно отправить. По умолчанию 200 (или 0 в современных версиях PHP).

Важно: Функцию header() необходимо вызывать до отправки любого вывода в браузер (включая HTML, пробелы или операторы echo). Если вывод уже был отправлен, PHP выдаст предупреждение «Headers already sent» (Заголовки уже отправлены). Вы можете проверить, были ли отправлены заголовки, с помощью функции headers_sent(), или использовать буферизацию вывода (ob_start()), чтобы отложить отправку.

Ниже приведен пример использования функции header() для установки HTTP-заголовка:

Как использовать функцию header()?

php
<?php

header("Content-Type: application/json");

В этом примере мы устанавливаем HTTP-заголовок Content-Type со значением application/json. Этот заголовок будет отправлен клиенту при выполнении скрипта.

Вы также можете использовать параметры replace и code для отправки перенаправлений или пользовательских кодов состояния:

php
<?php

// Send a 301 Moved Permanently redirect
header("Location: https://example.com", true, 301);

Заключение

Функция header() — это мощный инструмент для управления HTTP-заголовками в вашем PHP-веб-приложении. Понимая её синтаксис, параметры и требование вызывать её до отправки вывода, вы сможете эффективно управлять перенаправлениями, типами контента и кодами состояния в своих скриптах.

Практика

Что делает функция PHP header()?

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.