por Vincy . Última modificação em 11 de agosto de 2021.
A função de cabeçalho do PHP é enviar um cabeçalho HTTP bruto para o cliente. O cabeçalho bruto contém a solicitação e outros metadados. Ajuda a definir o tipo de conteúdo, cache, localização e dados semelhantes.
O cabeçalho HTTP serve para passar detalhes adicionais com uma solicitação HTTP. Ele contém os detalhes na forma de pares chave: valor.
Exemplo rápido
Para redirecionar para um URL:
Php header ("Local: https://phppot.com"); saída; ?>
Para redirecionar após X segundos:
php header ("refresh: 5; url=target.php"); echo'Você será redirecionado em 5 segundos. Caso contrário, clique aqui .’; ?>
O header () é uma função embutida do PHP existente mesmo em versões anteriores. Mas a partir de 5.1.2, ele para de enviar mais de um cabeçalho por vez para evitar os ataques de injeção de cabeçalho.
O cabeçalho PHP deve ser chamado antes de enviar qualquer saída para o navegador. Caso contrário, causará um erro “Não é possível modificar as informações do cabeçalho… cabeçalho já enviado…”.
Esses são os itens não permitidos antes de chamar os cabeçalhos PHP.
Tags HTML. Linhas em branco. PHP imprimir instruções . PHP requer/inclui que produz algo para o navegador.
Sintaxe e parâmetros do cabeçalho do PHP
A função do cabeçalho do PHP possui três parâmetros. Ele usa a seguinte sintaxe que mostra os três parâmetros desta função. Esta função não retorna (void) nenhum valor.
header (String $ header, bool $ replace=true, int $ response_code=0);
<”$header
Contém uma string que define o código de status HTTP. Ele define as propriedades do cabeçalho como tipo de conteúdo, local e muito mais.
O local do cabeçalho redireciona os usuários para o URI de destino e retorna o código de status 302 para o cliente.
$ replace
É para substituir a propriedade do cabeçalho já definida. Este é um parâmetro opcional tendo boolean true como valor padrão. Ele substitui as configurações de cabeçalho definidas por padrão. Podemos desligar o comportamento padrão definindo false para este parâmetro.
Php header ('WWW-Authenticate: Negotiate'); echo ('cabeçalho WWW-Authenticate está definido como Negotiate \ n'); cabeçalho ('WWW-Authenticate: NTLM', false); echo ('cabeçalho WWW-Authenticate alterado para NTLM'); ?>
$ response_code
Este também é um parâmetro opcional contendo o valor inteiro padrão 0. Isso é para definir o código de resposta HTTP. É aplicável se e somente se o cabeçalho não estiver vazio.
Usos da função PHP header ()
A lista de itens mostra alguns dos usos da função de cabeçalho PHP. Este artigo inclui exemplos para explicar os usos da função header ().
Ela muda a localização do cabeçalho e redireciona a página. Ele define o tipo de conteúdo e solicita o download do conteúdo. Ele prepara o código de status HTTP para responder. Ele define as propriedades de armazenamento em cache e substitui o comportamento de armazenamento em cache existente.
Exemplos de PHP header ()
Redirecionamento de página usando header () Location
O uso da configuração de PHP header location é o seguinte. Ele começa com a palavra-chave Location seguida pelo URI de destino.
A função de cabeçalho executa o redirecionamento de página em PHP no lado do servidor. O código a seguir usa a instrução de saída do PHP. Ele para de executar o código após o redirecionamento.
Php//Cabeçalho do PHP com o cabeçalho Location to redirect ("Location: https://phppot.com"); saída; ?>
Ele aceita URI absoluto e relativo para o redirecionamento.
Alguns dos clientes antigos aceitam URI absoluto. O código a seguir forma URI absoluto dinamicamente para definir a localização do cabeçalho. Ele usa os globais $ _SERVER $ _SERVER [‘PHP_SELF’], $ _SERVER [‘HTTP_HOST’] e o dirname ().
Php $ subDirectory=rtrim (dirname ($ _ SERVER ['PHP_SELF']),"/\\"); $ fileName="exemplo.php"; header ("Localização: http://". $ _SERVER ['HTTP_HOST']."/". $ subDirectory."/". $ fileName); ?>
O código acima encontra o nome do subdiretório do arquivo. Em seguida, ele apara as barras desnecessárias no final da string.
Saída do arquivo PDF usando header () tipo de conteúdo e disposição de conteúdo
Este script PHP define tipo de conteúdo e conteúdo-disposição para forçar o download. Ele produz um documento no tipo de conteúdo especificado.
Ele define o aplicativo/pdf para gerar um arquivo PDF para o navegador. Ele define a origem e o destino para ler e preparar o documento de saída.
Este código exibirá uma caixa de diálogo para salvar o documento PDF gerado. Usamos o método jsPDF save () para mostrar o download do PDF no navegador.
php//Definir o tipo de conteúdo do cabeçalho como cabeçalho PDF ("Content-type: application/pdf");//Será chamado de header baixado.pdf ("Content-Disposition: attachment; filename=output.pdf");//O arquivo de origem para ler o conteúdo readfile ("source.pdf"); ?>
Se você deseja enviar uma resposta como JSON , no item acima, altere“ Content-type ”para application/json.
Impedir cache de página
O código abaixo define o cabeçalho PHP () para prevenir o navegador de armazenar em cache o conteúdo da página. Ao definir essas configurações de cabeçalho, ele substitui o mecanismo de cache padrão.
Ele usa opções de cache HTTP 1.1 para definir Cache-Control. Ele coloca os valores no-cache, deve-revalidar para este cabeçalho.
Ele define o cabeçalho Expires com uma data passada e permite que o cliente saiba que não há mais conteúdo em cache. Portanto, ele enviará uma solicitação HTTP ao servidor para ler o conteúdo.
Php//HTTP/1.1 caching options header ("Cache-Control: no-cache, must-revalidate");//Data e hora anteriores como cabeçalho de expiração ("Expira: Seg, 2 de julho de 1963 03:00:00 GMT"); ?>
Funções e exemplos PHP relacionados
As funções abaixo estão relacionadas à função de cabeçalho do PHP. Vejamos os objetivos dessas funções com um exemplo simples.
header_sent ()
Esta função garante que o cabeçalho já foi enviado ao cliente. Ele retornará o booleano verdadeiro ou falso.
Ele aceita os parâmetros opcionais $ nome do arquivo e $ número de linho passados por referência. Ele será usado mais tarde e não há necessidade de atribuí-los antes de invocar header_sent ().
O PHP define o nome do arquivo fonte para o parâmetro $ filename. Além disso, define o segundo parâmetro com o número da linha onde a saída começa.
Esta função evita a ocorrência de erros fatais relacionados ao cabeçalho. O exemplo a seguir imprime mensagens de erro explícitas por interpolando variáveis $ nome do arquivo e $ linho.
php//Verifique se o cabeçalho já foi enviado if (! headers_sent ()) {header ('Localização: http://yourdomain.com/'); saída; }//Defina $ filename opcional do PHP de origem e//$ Linnum onde a saída começa if (! Headers_sent ($ filename, $ Linnum)) {header ('Localização: http://yourdomain.com/'); saída; } else {//imprime mensagem de erro para evitar erros fatais echo"Cabeçalhos já enviados em $ filename na linha $ Linum"; saída; }?>
header_remove ()
O propósito desta função é compreensível por seu nome. É para remover o cabeçalho que já está definido.
Aceita o nome do cabeçalho como parâmetro. Seu valor não diferencia maiúsculas de minúsculas.
Php//Defina o tipo de conteúdo do cabeçalho como cabeçalho JSON ("Content-type: application/json"); header_remove ("tipo de conteúdo"); ?>
header_list ()
Esta função PHP retorna a lista de cabeçalhos já enviados ou os cabeçalhos configurados para serem enviados. Ele retorna a saída na forma de array PHP .
Este código define cookies e cabeçalhos PHP. Ele define o id aleatório do membro no índice de cookies do PHP e define o tipo de conteúdo como texto simples.
php//define o cookie para armazenar um número aleatório como id_do_membro setcookie ('id_do_membro', rand (10000, 99999));//cabeçalho de cabeçalho personalizado ("X-Sample: Exemplo");//definir o tipo de conteúdo como cabeçalho de texto simples ('Tipo de conteúdo: texto/simples');/* Imprime o conjunto de cabeçalhos */var_dump (headers_list ()); ?>Este programa imprime a lista de cabeçalhos como segue.
array (4) {[0]=> string (24)”X-Powered-By: PHP/7.4.21″[1]=> string (27)”Set-Cookie: member_id=87530″[2]=> string (17)”X-Sample: Exemplo”[3]=> string (38)”Content-type: text/plain; charset=UTF-8″}
header_register_callback ()
A função header_register_callback () é registrar uma função de retorno de chamada sem argumento. O PHP invoca a função de retorno de chamada após estar pronto para enviar todos os cabeçalhos.
header_register_callback (callable $ callbackFunction);
Conclusão
Sim, vimos um artigo elaborado sobre cabeçalhos PHP. Espero que ele cubra todos os pontos diretos e relacionados sobre esta função.
Ele fornece uma variedade de exemplos em cabeçalhos de PHP para definir o tipo de conteúdo, cache e muito mais. Além disso, cobre as funções relacionadas, como header_list (), header_remove (), etc.
Se você tiver comentários ou sugestões, compartilhe-os na seção de comentários.