A localização do cabeçalho em PHP

Subodh Poudel 30 janeiro 2023
  1. Introdução à função Header() e sua sintaxe em PHP
  2. Use a função header() com a string de cabeçalho location: em PHP
A localização do cabeçalho em PHP

Este artigo irá introduzir o conceito da função header() e sua sintaxe em PHP. Ele cobrirá as regras de escrita de cabeçalho em PHP. Este método também funcionará com os cabeçalhos Content-Type e Content-Disposition.

Também apresentaremos a string de cabeçalho location: neste artigo. Explicaremos o uso e a essência do cabeçalho de localização no PHP. O artigo demonstrará como o local do cabeçalho envia o código de resposta e redireciona o navegador para outra página.

Introdução à função Header() e sua sintaxe em PHP

A função header() é uma função PHP embutida que nos permite enviar um cabeçalho HTTP bruto para o cliente. O cabeçalho enviado está em formato bruto. Devemos invocar a função header() antes que qualquer saída seja enviada. A saída em qualquer formato, como a saída enviada pelas tags HTML ou um formulário PHP, deve ser descartada antes de enviar as informações do cabeçalho. Assim, podemos controlar as informações enviadas ao navegador pelo servidor antes de qualquer saída.

A sintaxe da função header() é: header(string,replace,http_response_code);. A função aceita três parâmetros. O primeiro argumento é uma string de cabeçalho. Existem dois tipos de strings de cabeçalho. O primeiro tipo é uma string que começa com HTTP/. Ele especifica os códigos HTTP a serem enviados ao navegador. O segundo tipo de string de cabeçalho é o cabeçalho location:, que redireciona o navegador para o local especificado. O próximo parâmetro na função é replace, que representa um valor booleano. É um parâmetro opcional que determina se o cabeçalho deve substituir o cabeçalho semelhante anterior. O terceiro parâmetro, http_response code também é um parâmetro opcional que força o código de resposta HTTP para o valor especificado.

Por exemplo, crie uma função header() e use a string de cabeçalho como Content-Type. Escreva o valor de Content-Type como application/pdf. Novamente crie outra função header(). Desta vez, escreva a string de cabeçalho como Content-Disposition. Dê o valor da string como attachment. Não se esqueça do ponto-e-vírgula após ele. Escreva outro atributo filename após o ponto-e-vírgula e forneça o nome do arquivo como download.pdf.

Quando executamos o script a seguir, uma caixa de diálogo de download é exibida. Ele solicita que você baixe um arquivo pdf denominado download.pdf. O primeiro cabeçalho indica que o arquivo deve estar no formato pdf e o segundo cabeçalho indica o nome do arquivo e força o navegador a exibir a caixa de diálogo para salvar o arquivo.

Código de exemplo:

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

Use a função header() com a string de cabeçalho location: em PHP

Podemos usar a função header() com a string de cabeçalho location: em PHP. A string de cabeçalho redireciona a página da web para o local especificado. Geralmente é usado em páginas da web para redirecionar o usuário a uma página específica após o envio da entrada. Por exemplo, quando o usuário insere as credenciais corretas durante o login, podemos usar o local do cabeçalho para redirecioná-lo para a página inicial. Podemos especificar o valor booleano e o código de resposta na função header(). No entanto, esses parâmetros são opcionais. O valor booleano padrão é verdadeiro, o que significa que ele substituirá o cabeçalho semelhante anterior. Também podemos fornecer o código de resposta como o terceiro parâmetro. O código de resposta padrão é 302. Por exemplo, podemos escrever um array em um arquivo e redirecionar a página atual para outra página exibindo a mensagem de que o arquivo foi escrito. Podemos usar a função file_put_contents() para escrever no arquivo.

Por exemplo, crie um array na variável $day. Crie as chaves como weather e time e os respectivos valores como Sunny e 1:30 pm. Em seguida, use file_input_contents() e especifique um arquivo file.txt como o primeiro parâmetro. Use a função print_r() como o segundo parâmetro. Forneça a variável $day e o valor booleano true como os parâmetros da função print_r(). Avalie toda a expressão usando a condição if. Dentro do bloco if, use a função header(). Especifique o local como message.php dentro da função. Use os dois pontos : para especificar a localização. Observe que não deve haver nenhum espaço entre o local e os dois pontos :. Crie um arquivo PHP message.php. Exibe uma mensagem no arquivo dizendo que o arquivo foi gravado.

No exemplo acima, a matriz é gravada no arquivo file.txt. A condição if é avaliada como verdadeira e a função header() redireciona a localização para message.php. Assim, a saída é mostrada. Também podemos ver o URL alterado na barra de endereço. Se houvesse outra função de cabeçalho abaixo da função de cabeçalho existente, a última substituiria o cabeçalho anterior. Isso ocorre porque o valor padrão da opção replace é verdadeiro na função header().

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

Resultado:

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