(PHP 4, PHP 5, PHP 7, PHP 8)
ob_start — Çıktı tamponlamasını başlatır
$geriçağırım
= null
, int $parça_boyu
= 0, int $seçenekler
= PHP_OUTPUT_HANDLER_STDFLAGS
): boolBu 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
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:
tampon
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
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_boyu
nu 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() |
Ö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);
?>