Manual do PHP
Anterior |  | Próxima

# headers_sent

(PHP 3>= 3.0.8, PHP 4 , PHP 5)

headers_sent -- Confere se os cabeçalhos foram enviados ou não

## Descrição

bool headers_sent ( [string &file [, int &line]] )

headers_sent() irá retornar `FALSE` se nenhum cabeçalho HTTP já foi enviado, ou `TRUE` se já foi. Se os parâmetros opcionais file e line estiverem definidos, headers_sent() irá colocar o nome do arquivo e a linha aonde a saída começou nas variáveis file e line.

Você não pode adicionar nenhuma linha de cabeçalho a mais usando a função header() depois que os cabeçalhos já foram enviados. Usando esta função você pode previnir que aconteçam erros referentes aos cabeçalhos HTTP. Outra opção é usar Output Buffering.

> Nota: Os parâmetros opcionais file e line foram adicionados no PHP 4.3.0.

Exemplo 1. Exemplos usando headers_sent()
`<?php // Se não foi enviado nenhum cabeçalho, envia um if (!headers_sent()) { header('Location: http://www.example.com/'); exit; } // Um exemplo usando os parâmetros line e file, a partir do PHP 4.3.0 // Note que $filename e $linenum são passados para uso posterior. // Não defina um valor para elas anteriormente. if (!headers_sent($filename, $linenum)) { header('Location: http://www.example.com/'); exit; // Você pode querer avisar do erro aqui. } else { echo "Os cabeçalhos já foram enviados em $filename na linha $linenum\n" . "Não posso redirecionar, por favor clique neste <a " . "href=\"http://www.example.com\">link</a>\n"; exit; } ?>`

Veja também ob_start(), trigger_error(), e header() para uma discussão mais detalhada dos assuntos envolvidos.

Anterior | Principal | Próxima
headers_list | Acima | setcookie