PHP ÇIKTI TAMPONLAMA DENETİMİ

PHP ÇIKTI TAMPONLAMA DENETİMİ

Tarhi : 23-02-2017 11:00:19 | Yazar : ÇAĞLAR BOSTANCI

Çıktı kontro sistemi ile verileri tamponlayarak bir çok işlemi yapabiliriz. Yani içerik oluşurken işlemlerin ekranan bir bir basılması yerine tüm iş ve işlemler bittikten sonra ekrana aktarılmasını sağlayabiliriz. Tamponlama işlemi header(), setcookie() ve session işlemlerini engellememektedir.

FONKSİYONLAR
ob_star() : Çıktı kontrolünü başlatarak içerik durur.
ob_end_flush() : Tamponlanan çıktı alarak, çıktı kontrolünü sonlandırır. Bu çağrıdan sonra tampon imha edilir.
ob_get_clean() : Tamponlanan içeri bir değişkene alır ekrana çıktı vermez. İçerik bir değişkene aktarılırken tamponda silinir.
ob_get_length() : Tampondaki içeriğin boyutunu alır.
ob_end_clean() : Tamponda biriken veri temizlendikten sonra çıktı kontrol sonlandırılır. Bu çağrıdan önce içeriği almak için ob_get_contents çağırılabilir.
ob_get_contents() : Tamponda biriken çıktıyı alır. Bir değişkene aktarılarak echo ile ekrana basılabliir veya dosyaya kayıt yapılabilir.
ob_gzhander : Tampondaki veriyi sıkıştırır. Aynı zamanda ob_start() fonksiyonu ile beraber kullanılır.
ob_flush() : Tamponun içeriğini gönderir. Bir değişkene aktarılabilir. Bu fonksiyon tamponu yok etmez.
flush() : Daha önce tamponlanmış veriyi tarayıcıya gönderir. Komuttan sonraki satırlarda çalışmaya devam eder.
ob_get_flush() : Önceden tamponlanmış içeriği alır, tamponlama sistemini sonlandırır.
ob_clean() : Tamponlamayı temizler.
ob_get_level() : Tamponlama sisteminin iç içe seviyesini döndürür.

ob_start() kullanımı:

ob_start(“ob_gzhandler”) kullanımı:

html:

Yukarıdaki kodlar sayfanın başına gelecek şekilde yerleştirin. Php tagın dan sonra ise css kodlarınızı yazın bu sayede sayfa dosya tarayıcının cache sine alınır. İlk çağırım dan sonra bir gün geçmişse tekrar çağırır.

ob_get_contents:

ob_get_clean:

ob_get_flush();

ob_get_level():

Yorumlar

  1. PHP Öğrencisi dedi ki:

    Merhaba ben php ‘yi yeni yeni öğreniyorum. session_start’dan önce ob_start kullanılıyor. Bunun mantığını çözmeye çalışıyorum. Araştırırken bu sayfa ile karşılaştım fakat hala anlamadım mantığını. Bunun mantığı ne?

    1. Bir web sayfasını açtığınızda sayfa içeriğini çok olması nedeniyle parça parça ekrana basılacaktır. Mesela boyutu yüksek olan bir resim en son yüklenecektir. Bu ve buna benzer bir çok durumu engellemek için, aynı zamanda header() fonksiyonunun sayfa yönlendirmelerini daha sağlıklı yapabilmesi için, sunucu çıktıyı parça parça client bilgisayara göndermek yerine, çıkıyı tamponlayıp (bir baraj gibi biriktirip) sayfa yüklemesi tam olarak sağlandığında göndermesi durumudur.

Reklam Alanı