English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
A função headers_sent() detecta se os cabeçalhos HTTP já foram enviados.
bool headers_sent ([ string &$file [, int &$line ]])
Detectar se os cabeçalhos HTTP já foram enviados.
Quando os cabeçalhos HTTP já forem enviados, não será possível adicionar mais campos de cabeçalho usando header(). Usar esta função pelo menos pode evitar erros nos cabeçalhos HTTP. Outra solução é usar o buffer de saída.
Quando os cabeçalhos HTTP não forem enviados, headers_sent() retornará FALSE, caso contrário, retornará TRUE.
Número | Parâmetros e descrição |
---|---|
1 | arquivo Se os parâmetros opcionais file e line foram configurados, headers_sent() colocará o nome do arquivo PHP no variável file e o número da linha de início no variável line. |
2 | linha Exibe o número da linha de início. |
Tente o exemplo a seguir
<?php if (!headers_sent()) { header('Location: \//pt.oldtoolbag.com/'); exit; } header('Location: \//pt.oldtoolbag.com/'); exit; } else { echo "Headers já enviados em $filename na linha $linenum\n" . "href=\//pt.oldtoolbag.com\">link</a> em vez de\n"; exit; } ?>
Os exemplos acima verificarão se os cabeçalhos já foram enviados, se sim, exibirão uma mensagem, caso contrário, enviarão os cabeçalhos