headers_sent

(PHP 4, PHP 5, PHP 7, PHP 8)

headers_sentVerifica se ou onde os cabeçalhos foram enviados

Descrição

headers_sent(string &$filename = null, int &$line = null): bool

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 e line forem informados, headers_sent() colocará o nome do arquivo fonte PHP e o número da linha onde a saída iniciou nas variáveis filename e line, 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.