Расположение заголовка в PHP

  1. Введение в функцию Header() и ее синтаксис в PHP
  2. Используйте функцию header() со строкой заголовка location: в PHP

Эта статья познакомит вас с концепцией функции header() и ее синтаксисом в PHP. В нем будут рассмотрены правила написания заголовка в PHP. Этот метод также будет работать с заголовками Content-Type и Content-Disposition.

Мы также представим в этой статье строку заголовка location:. Мы объясним использование и суть заголовка местоположения в PHP. В статье будет показано, как расположение заголовка отправляет код ответа и перенаправляет браузер на другую страницу.

Введение в функцию Header() и ее синтаксис в PHP

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

Синтаксис функции header(): заголовок (строка, замена, http_response_code);. Функция принимает три параметра. Первый аргумент - это строка заголовка. Есть два типа строк заголовков. Первый тип - это строка, начинающаяся с HTTP/. Он определяет коды HTTP, которые нужно отправить в браузер. Второй тип строки заголовка - это заголовок location:, который перенаправляет браузер в указанное место. Следующий параметр в функции - заменить, который представляет собой логическое значение. Это необязательный параметр, определяющий, должен ли заголовок заменять предыдущий аналогичный заголовок. Третий параметр, http_response code, также является необязательным параметром, который принудительно устанавливает код ответа HTTP на указанное значение.

Например, создайте функцию header() и используйте строку заголовка как Content-Type. Запишите значение Content-Type как application/pdf. Снова создайте еще одну функцию header(). На этот раз напишите строку заголовка как Content-Disposition. Укажите значение строки как attachment. Не забывайте ставить точку с запятой после него. Напишите еще один атрибут filename после точки с запятой и укажите имя файла как download.pdf.

Когда мы запускаем следующий сценарий, появляется диалоговое окно загрузки. Вам будет предложено загрузить файл pdf с именем download.pdf. Первый заголовок указывает, что файл должен иметь формат pdf, а второй заголовок обозначает имя файла и заставляет браузер отображать диалоговое окно для сохранения файла.

Пример кода:

#php 7.x
<?php
header('Content-Type: application/pdf'); 
header('Content-Disposition: attachment; filename="downloaded.pdf"');
?>

Используйте функцию header() со строкой заголовка location: в PHP

Мы можем использовать функцию header() со строкой заголовка location: в PHP. Строка заголовка перенаправляет веб-страницу в указанное место. Обычно он используется на веб-страницах для перенаправления пользователя на определенную страницу после отправки ввода. Например, когда пользователь вводит правильные учетные данные при входе в систему, мы можем использовать расположение заголовка, чтобы перенаправить их на домашнюю страницу. Мы можем указать логическое значение и код ответа в функции header(). Однако эти параметры не являются обязательными. Логическое значение по умолчанию - истина, что означает, что оно заменит предыдущий аналогичный заголовок. Мы также можем предоставить код ответа в качестве третьего параметра. Код ответа по умолчанию - 302. Например, мы можем записать массив в файл и перенаправить текущую страницу на другую страницу, отображающую сообщение о том, что файл был записан. Мы можем использовать функцию file_put_contents() для записи в файл.

Например, создать массив по переменной $day. Создайте ключи как weather и time и соответствующие значения как Sunny и 1:30 pm. Затем используйте file_input_contents() и укажите файл file.txt в качестве первого параметра. В качестве второго параметра используйте функцию print_r(). Задайте переменную $day и логическое значение true в качестве параметров функции print_r(). Оцените все выражение, используя условие if. Внутри блока if используйте функцию header(). Укажите местоположение как message.php внутри функции. Используйте двоеточие :, чтобы указать местоположение. Обратите внимание, что между двоеточием location и : не должно быть пробелов. Создайте файл PHP message.php. Отобразите в файле сообщение о том, что файл был записан.

В приведенном выше примере массив записывается в файл file.txt. Условие if оценивается как истинное, а функция header() перенаправляет местоположение на message.php. Таким образом, результат показан. Мы также можем увидеть измененный URL-адрес в адресной строке. Если бы под существующей функцией заголовка была другая функция заголовка, последняя заменила бы предыдущий заголовок. Это потому, что значение по умолчанию для опции replace истинно в функции header().

Пример кода:

#php 7.x
<?php
$day = array (
    'weather' => 'Sunny',
    'time' => '1:30 pm',
);
if(file_put_contents('file.txt', print_r($day, true))){
    header("location: message.php");
}
?>

Выход:

The file has been written.