PHP hemen yankı baskı çıkarmak için nasıl?

4 Cevap php

Tam sayfa yürütme bitinceye kadar Varsayılan olarak hiçbir şey yazmaz.

Onu hemen dışarı floş yapabilirsiniz herhangi bir işlevi var mı?

Ama ne istiyorum, hangi değil ob_end_flush() birden çok kez arayarak.

Siz beni umut?

4 Cevap

Çıktı tamponlama açıksa, o tarayıcıya çıkış şey tek yoldur kızarma. Hemen çıktı istiyorsanız o çıktı tamponunun açın. Bu sizin kontrolünüz yoksa sadece tamponu kapatır olacak senaryonun srart at () ob_end_flush çağırabilirsiniz. Orada ancak bazı mesajları geçmesine izin için bir yol olduğunu ve bazı değil (özel echo / print fonksiyonları yazmadan)

() ob_end_flush çağırarak yıkayın ve en üst Çıktı tamponunu kapanacaktır. Emin olmak için tüm çıkış tamponlar kapalı ve kolayca yapabilirsiniz basması vardır:

while (@ob_end_flush());

Bu web sunucunuza bağlıdır. Bu bağlantılı sayfada dediği gibi flush ne olursa olsun geçerli tampon çıkışı boşaltılacağını çağırarak, ancak, açıktır:

flush () web sunucusu veya istemci tarafında tarayıcı tamponlama düzeni üzerinde etkisi yoktur. Böylece çıkış tamponları temizlemek için hem ob_flush () ve floş () aramak gerekir.

Tarayıcıya sonuçları göndermeden önce sona kadar özellikle Win32 üzerinde birkaç sunucuları, yine komut çıkışını tampon olacaktır.

Mod_gzip gibi Apache Server modülleri floş () müşteriye derhal gönderilen veri neden değil neden olacak kendi tamponlama olabilir.

Siz geliştirme / test sunucusu üzerinde çıktı tamponu kapatır olabilir. Php.ini dosyasındaki output_buffering değişkeni değiştirin.

temizlemek için hiçbir tampon olduğunda o yazısının üstünde kullanılması durumunda ob_end_flush () bir uyarı atmak olacaktır. Çerezleri ya da başlıkları ayarlamak için planlıyorsanız, bu bir sorun olabilir. Ben benim paylaşılan sunucu (Rackspace Bayi) üzerine tamponlama etkisi olmadığı bulundu.