headers_sent

(PHP 4, PHP 5, PHP 7)

headers_sentBaşlıklar gönderilmiş mi, gönderilmişse nerede gönderilmiş diye bakar

Açıklama

headers_sent ([ string &$dosya [, int &$satır ]] ) : bool

Başlıklar gönderilmiş mi, gönderilmişse nerede gönderilmiş diye bakar.

Tüm başlıklar gönderildikten sonra header() işlevini kullanarak daha fazla başlık satırı ekleyemezsiniz. Bu işlevi kullanarak HTTP başlıklarıyla ilgili hata iletilerinden en azından bazılarını engelleyebilirsiniz. Diğer bir seçenek de Çıktı Tamponlaması kullanmaktır.

Değiştirgeler

dosya

İsteğe bağlı dosya ve satır değiştirgeleri kullanılırsa, headers_sent() işlevi çıktının başlatılacağı PHP kaynak dosyası ismi ve satır numarasını dosya ve satır değiştirgelerine yerleştirir.

satır

Çıktının başlatılacağı satır numarası.

Dönen Değerler

Henüz hiçbir başlık gönderilmemişse headers_sent() işlevi FALSE ile döner, aksi takdirde TRUE döndürür.

Sürüm Bilgisi

Sürüm: Açıklama
4.3.0 Seçimlik dosya ve satır değiştirgeleri eklendi.

Örnekler

Örnek 1 - headers_sent() kullanım örnekleri

<?php

// Henüz hiçbir başlık gönderilmemişse bir tane gönder
if (!headers_sent()) {
    
header('Location: http://mesela.dom/');
    exit;
}

// PHP 4.3.0'dan itibaren seçimlik dosya ve satır kullanımı örneği.
// $dosya ve $satır değiştirgelerinin daha sonra kullanılmak üzere
// aktarıldığına dikkat edin. Bunlara bir değer atamayın.
if (!headers_sent($dosya$satır)) {
    
header('Location: http://mesela.dom/');
    exit;

// Çoğunlukla burada bir hata alırsınız.
} else {

    echo 
"Başlıklar $dosya dosyasının $satır. satırında gönderilmiş.\n" .
          
"Yönlendirme yapılamıyor, şimdilik <a " .
          
"href=\"http://mesela.dom\">buraya tıklayınız</a>\n";
    exit;
}

?>

Ayrıca Bakınız

  • ob_start() - Çıktı tamponlamasını başlatır
  • trigger_error() - Kullanıcı seviyesinde bir hata/uyarı/bilgi iletisi üretir
  • headers_list() - Gönderilmiş (veya gönderilmeye hazır) yanıt başlıklarının listesiyle döner
  • Bu konuda daha ayrıntılı bilgi edinmek için header() - Ham bir HTTP başlığı gönderir belgesine bakınız.