headers_sent
(PHP 4, PHP 5, PHP 7, PHP 8)
headers_sent — Verifica se ou onde os cabeçalhos foram enviados
Descrição
Verifica se ou onde os cabeçalhos foram enviados.
Não é possível adicionar mais linhas de cabeçalho usando a função header() uma vez que o bloco de cabeçalho já tiver sido enviado. Usando esta função, é possível pelo menos evitar mensagens de erro relacionadas ao cabeçalho HTTP. Outra opção é usar Buffer de Saída.
Parâmetros
filename
-
Se os parâmetros opcionais
filename
eline
forem informados, headers_sent() colocará o nome do arquivo fonte PHP e o número da linha onde a saída iniciou nas variáveisfilename
eline
, respectivamente.Note:
Se a saída foi iniciada antes da execução do arquivo fonte PHP (por exemplo, devido a um erro de inicialização), o parâmetro
filename
será definido como uma string vazia. line
-
O número da linha onde a saída iniciou.
Valor Retornado
headers_sent() retornará false
se nenhum cabeçalho HTTP
ainda tiver sido enviado, ou true
caso contrário.
Exemplos
Example #1 Examplos de uso de headers_sent()
<?php
// Se nenhum cabeçalho tiver sido enviado, envia um
if (!headers_sent()) {
header('Location: http://www.example.com/');
exit;
}
// Um exemplo usando os parâmetros opcionais de arquivo e linha
// Observe que $filename e $linenum são passados para uso posterior.
// Não devem ser atribuídos valores a eles antecipadamente.
if (!headers_sent($filename, $linenum)) {
header('Location: http://www.example.com/');
exit;
// Aqui é exibida uma mensagem de erro.
} else {
echo "Cabeçalhos já enviados no arquivo $filename na linha $linenum\n" .
"Não é possível redirecionar, favor clicar neste atalho: <a " .
"href=\"http://www.example.com\">link</a>\n";
exit;
}
?>
Notas
Note:
Os cabeçalhos só serão acessíveis e enviados quando uma SAPI que os suporta estiver em uso.
Veja Também
- ob_start() - Ativa o buffer de saída
- trigger_error() - Gera uma mensagem a nível de usuário de erro/alerta/nota
- headers_list() - Retorna uma lista de cabeçalhos de resposta enviados (ou prontos para enviar)
- Função header() - Envia um cabeçalho HTTP bruto para uma descrição mais detalhada sobre os assuntos envolvidos.