La ubicación del encabezado en PHP

Subodh Poudel 30 enero 2023
  1. Introducción a la función Header() y su sintaxis en PHP
  2. Utilice la función header() con la location: Cadena de encabezado en PHP
La ubicación del encabezado en PHP

Este artículo presentará el concepto de la función header() y su sintaxis en PHP. Cubrirá las reglas de escritura de encabezados en PHP. Este método también funcionará con los encabezados Content-Type y Content-Disposition.

También presentaremos la cadena de encabezado location: en este artículo. Explicaremos el uso y la esencia del encabezado de ubicación en PHP. El artículo demostrará cómo la ubicación del encabezado envía el código de respuesta y redirige el navegador a otra página.

Introducción a la función Header() y su sintaxis en PHP

La función header() es una función PHP incorporada que nos permite enviar un encabezado HTTP sin formato al cliente. El encabezado enviado está en forma sin procesar. Debemos invocar la función header() antes de enviar cualquier salida. La salida en cualquier forma, como la salida enviada por las etiquetas HTML o un formulario PHP, debe descartarse antes de enviar la información del encabezado. Así podemos controlar la información enviada al navegador por el servidor antes de cualquier salida.

La sintaxis de la función header() es: header(string,replace,http_response_code);. La función acepta tres parámetros. El primer argumento es una cadena de encabezado. Hay dos tipos de cadenas de encabezado. El primer tipo es una cadena que comienza con HTTP/. Especifica los códigos HTTP que se enviarán al navegador. El segundo tipo de cadena de encabezado es el encabezado location:, que redirige el navegador a la ubicación especificada. El siguiente parámetro de la función es replace, que representa un valor booleano. Es un parámetro opcional que determina si el encabezado debe reemplazar al encabezado similar anterior. El tercer parámetro, http_response code también es un parámetro opcional que fuerza el código de respuesta HTTP al valor especificado.

Por ejemplo, cree una función header() y use la cadena de encabezado como Content-Type. Escriba el valor del Content-Type como application/pdf. Vuelva a crear otra función header(). Esta vez, escriba la cadena de encabezado como Content-Disposition. Dar el valor de la cadena como attachment. No olvide el punto y coma después. Escriba otro atributo filename después del punto y coma y proporcione el nombre de archivo como download.pdf.

Cuando ejecutamos el siguiente script, aparece un cuadro de diálogo de descarga. Le pide que descargue un archivo pdf llamado download.pdf. El primer encabezado indica que el archivo debe tener el formato pdf y el segundo encabezado indica el nombre del archivo y obliga al navegador a mostrar el cuadro de diálogo para guardar el archivo.

Código de ejemplo:

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

Utilice la función header() con la location: Cadena de encabezado en PHP

Podemos usar la función header() con la cadena de encabezado location: en PHP. La cadena de encabezado redirige la página web a la ubicación especificada. Generalmente se usa en páginas web para redirigir al usuario a una página específica después de enviar la entrada. Por ejemplo, cuando el usuario ingresa las credenciales correctas al iniciar sesión, podemos usar la ubicación del encabezado para redirigirlo a la página de inicio. Podemos especificar el valor booleano y el código de respuesta en la función header(). Sin embargo, estos parámetros son opcionales. El valor booleano predeterminado es verdadero, lo que significa que reemplazará el encabezado similar anterior. También podemos proporcionar el código de respuesta como tercer parámetro. El código de respuesta predeterminado es 302. Por ejemplo, podemos escribir un array en un archivo y redirigir la página actual a otra página que muestra el mensaje de que se ha escrito el archivo. Podemos usar la función file_put_contents() para escribir en el archivo.

Por ejemplo, cree un array en la variable $day. Cree las claves como weather y time y los valores respectivos como Sunny y 1:30 pm. Luego use file_input_contents() y especifique un archivo file.txt como primer parámetro. Utilice la función print_r() como segundo parámetro. Proporcione la variable $day y el valor booleano true como parámetros de la función print_r(). Evalúe toda la expresión utilizando la condición if. Dentro del bloque if use la función header(). Especifique la ubicación como message.php dentro de la función. Utilice los dos puntos : para especificar la ubicación. Tenga en cuenta que no debe haber ningún espacio entre la location y los dos puntos :. Cree un archivo PHP message.php. Muestra un mensaje en el archivo que dice que el archivo se ha escrito.

En el ejemplo anterior, el array se escribe en el archivo file.txt. La condición if se evalúa como verdadera y la función header() redirige la ubicación a message.php. Por tanto, se muestra la salida. También podemos ver la URL modificada en la barra de direcciones. Si hubiera habido otra función de encabezado debajo de la función de encabezado existente, esta última reemplazaría a la anterior. Esto se debe a que el valor predeterminado de la opción replace es verdadero en la función header()

Ejemplo de código:

#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");
}
?>

Producción :

The file has been written.
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn