ob_start

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

ob_startÇıktı tamponlamasını başlatır

Açıklama

ob_start(?callable $geriçağırım = null, int $parça_boyu = 0, int $seçenekler = PHP_OUTPUT_HANDLER_STDFLAGS): bool

Bu işlev çıktı tamponlamasını ektin kılar. Çıktı tamponlaması etkinken betikten hiçbir çıktı gönderilmez ve çıktı dahili bir tamponda saklanır. Tam olarak hangi çıktının etkilendiğini görmek için bkz. What Output Is Buffered?

Çıktı tamponlaması bir yığıt gibi çalışabilir, bir ob_start() etkinken başka bir ob_start() çağrısı yapılabilir. Eğer çok sayıda çıktı geriçağırım işlevi etkinse, her biri iç içelik sırası gözetilerek çıktıyı süzer. Ayrıntılar için bkz. Nesting Output Buffers

Çıktı tamponlarının ayrıntılı açıklaması için bkz. User-Level Output Buffers

Bağımsız Değişkenler

geriçağırım

Bu bağımsız değişken ile isteğe bağlı bir çıktı eylemcisi işlev belirtilebilir. Ayrıca null aktarılarak atlatılabilir.

Bu işlev, çıktı tamponu boşaltılırken (gönderim), tampon temizlenirken (ob_flush(), ob_clean() ve benzeri bir işlevle) veya isteğin sonunda çıktı tamponu kullanıcının tarayıcısına boşaltılırken çağrılacaktır.

geriçağırım işlevinin sözdizimi:

işlev_ismi(string $tampon, int $kip = ?): string
tampon
Çıktı tamponunun içeriği.
kip
PHP_OUTPUT_HANDLER_* sabitlerinin bit maskesi. Ayrıntılar için bkz. Flags Passed To Output Handlers

geriçağırım false döndürdüğü takdirde tampon içeriği döner. Ayrıntılar için bkz. Output Handler Return Values

Uyarı

Aşağıdaki işlevlerden herhangi birini bir çıktı işleyicisinden çağırmak onulmaz bir hataya yol açacaktır: ob_clean(), ob_end_clean(), ob_end_flush(), ob_flush(), ob_get_clean(), ob_get_flush(), ob_start().

geriçağırım (çıktı işleyici) işlevleri ile ilgili ayrıntılar için bkz. Output Handlers ve Working With Output Handlers

parça_boyu

İsteğe bağlı parça_boyu belirtildiği takdirde, parça_boyunu aşan veya tamponun tam dolmasına sebep olan bir çıktılama çağrısından sonra tampon boşaltılır. Öntanımlı 0 değerinin anlamı tampon kapatılana kadar tüm çıktıların tamponlanacağı anlamına gelir. Ayrıntılar için bkz. Buffer Size

seçenekler

seçenekler, çıktı tamponuna uygulanabilecek işlemleri denetleyen bir bitmaskesidir. Çıktı tamponunun temizlenmesi, boşaltılması ve silinmesine izin vermek öntanımlı olup, Çıktı tamponu denetim seçenekleri üzerinden doğrudan belirlenebilir. Ayrıntılar için bkz. Operations Allowed On Buffers

Her sabit aşağıda açıklandığı gibi belli bir işlev kümesine erişimi denetler:

Sabit İşlevler
PHP_OUTPUT_HANDLER_CLEANABLE ob_clean()
PHP_OUTPUT_HANDLER_FLUSHABLE ob_flush()
PHP_OUTPUT_HANDLER_REMOVABLE ob_end_flush(), ob_get_clean(), ob_get_flush()

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Kullanıcı tanımlı geriçağırım işlevi örneği

<?php

function geriçağırım($tampon)
{
// elmaları armutlarla değiştirelim
return (str_replace("elmalar", "armutlar", $tampon));
}

ob_start("geriçağırım");

?>
<html>
<body>
<p>Bizden elmalarla armutların karşılaştırılması isteniyor.</p>
</body>
</html>
<?php

ob_end_flush
();

?>

Yukarıdaki örneğin çıktısı:

<html>
<body>
<p>Bizden armutlarla armutların karşılaştırılması isteniyor.</p>
</body>
</html>

Örnek 2 - Çıktı tamponunun silinmesini önleyen kod örneği

<?php

ob_start
(null, 0, PHP_OUTPUT_HANDLER_STDFLAGS ^ PHP_OUTPUT_HANDLER_REMOVABLE);

?>

Ayrıca Bakınız

  • ob_get_contents() - Çıktı tamponunun içeriği ile döner
  • ob_end_clean() - Etkin çıktı tamponunu temizler (siler) ve tamponu kapatır
  • ob_end_flush() - Etkin çıktı işleyicisinin dönüş değerini temizler (gönderir), etkin çıktı tamponunu kapatır
  • ob_implicit_flush() - Örtük boşaltmayı açar/kapar
  • ob_gzhandler() - ob_start callback function to gzip output buffer
  • ob_iconv_handler() - Çıktı tamponu eylemcisi olarak karakter kodlaması dönüşümü yapar
  • mb_output_handler() - Çıktı tamporundaki karakter kodlamasını dönüştüren geriçağırım işlevi
  • ob_tidyhandler() - Tampon onarımı için ob_start geriçağırım işlevi