Network Funkcje
PHP Manual

headers_sent

(PHP 4, PHP 5)

headers_sentSprawdza czy zostały wysłane nagłówki i gdzie to nastąpiło

Opis

bool headers_sent ([ string &$plik [, int &$linia ]] )

Sprawdza czy już zostały wysłane nagłówki i w którym miejscu to nastąpiło.

Jeśli blok nagłówkowy został już wysłany, to nie można dodawać nowych linii nagłówka za pomocą funkcji header(). Użycie tej funkcji pozwala także zabezpieczyć się przed otrzymywaniem komunikatów błędów związanych z nagłówkami HTTP. Inną możliwością jest stosowanie buforowania wyjścia.

Parametry

plik

Jeśli są podane opcjonalne parametry plik i linia, funkcja headers_sent() umieści nazwę pliku źródłowego i numer linii, w której rozpoczęło się wysyłanie na wyjście, odpowiednio w zmiennych plik i linia.

linia

Numer linii, w której rozpocząło się wysyłanie na wyjście.

Zwracane wartości

headers_sent() zwraca FALSE jeśli nagłówki HTTP nie zostały wysłane, w przeciwnym wypadku zwraca TRUE.

Rejestr zmian

Wersja Opis
4.3.0 Zostały dodane opcjonalne parametry plik i linia.

Przykłady

Przykład #1 Przykład użycia headers_sent()

<?php

// If no headers are sent, send one 
if (!headers_sent()) {
    
header('Location: http://www.example.com/');
    exit;
}

// An example using the optional file and line parameters, as of PHP 4.3.0
// Note that $filename and $linenum are passed in for later use.
// Do not assign them values beforehand.
if (!headers_sent($filename$linenum)) {
    
header('Location: http://www.example.com/');
    exit;

// You would most likely trigger an error here.
} else {

    echo 
"Headers already sent in $filename on line $linenum\n" .
          
"Cannot redirect, for now please click this <a " .
          
"href=\"http://www.example.com\">link</a> instead\n";
    exit;
}

?>

Zobacz też:


Network Funkcje
PHP Manual