Php ile işlem bitmeden çıktı verme

Php ile işlem bitmeden çıktı verme

  • 6 Temmuz 2013
  • 4 Okunma
  • 4 Yorum
  • 5 DK

Şimdi bu yazıda php de işlem bitmeden çıktı vermeği göstericem ama tam olarak nedir onu bi bilmemiz gerek. Şimdi Php de diyelim en basitinden bir for döngüsü oluşturdunuz diyelim bunu çalıştırdığınızda ekranda 1 den 10 a kadar sayılar bir anda çıkar. Yani bir işlem yapıyorsunuz birden fazla işlem yapıyor ama bir anda çıktı veriyor. Siz şöyle birşey istiyorsunuz diyelim gene bir örnekle açıklayalım. Bir tane üye giriş php dosyanız var yapılan işlemleri kullanıcıya bildirmek istiyorsunuz. Yani şöyle

Bilgiler kontrol ediliyor…
Veritabanı kontrolü yapılıyor…
Giriş yapılıyor…

gibi gibi şimdi ben size bir örnek vericem daha iyi anlayın diye ama ilk önce kodlarımızı açıklayayım

 ob_start(); 

Yukarıdaki kodu kesin kullandınız mesela header ile yönlendirme yapmıyordur bu kodu yazmışsınızdır sayfanın başına ve çalışmıştır 🙂 peki bu kod ne işe yarıyor tam olarak biliyor musunuz?

Şimdi bende bildiğim kadarıyla sizelere anlatayım. ob çıktı tamponu anlamına geliyor kısaca şöyle diyim yukarıdaki kodu kullanırsanız sayfa işlem bitmeden html çıktısı vermez sayfa nın sonuna gelince işlem biter ve html kodu verir. istediğiniz yerde html çıktısı vermek için

 ob_end_flush(); ob_flush(); 

Yukarıdaki kodların herhangi biri kullanılır. Bu tamponlama bitti çıktı verebilirsin anlamına geliyor. Şimdi sizlere aşağıda bir örnek vericem direk bir php dosyasına kopyalayıp çalıştırabilirsiniz.

 header( "Content-Encoding: none; " ); //Gzip oluşturuyoruz header( "Content-type: text/html; charset=utf-8" ); //Html karekter kodlamamızı ayarlıyoruz ob_start(); //Tamponumuzu başlatıyoruz $bildiri = array("Bilgiler kontrol ediliyor","Veritabanı kontrolü yapılıyor...","Giriş yapılıyor..."); for($i=0; $i < count($bildiri); $i++){ sleep(1.5); //1.5 sn bekletiyoruz echo $bildiri[$i]."
"; //Array dan çıktı alıyoruz ob_end_flush(); //Çıktıyı ekrana bastırıyoruz }

Yukarıdaki kodu çalıştırınca linkteki gibi tek tek çıktı veriyor yalnız ardı ardına çıktı veriyor ek olarak yani çünkü normaldede çıktı ardı ardına veriyor. Bu nerde işinize yarar derseniz şöyle bir örnek verebilirim. progressbarı belki biliyorsunuzdur onun yerine yada % lik bir şey yapabilirsiniz. Ya da sırayla işlemleri gösterebilecek birşey işte 🙂 yapında gerisi size kalsın 🙂

Hadi kolay gelsin.

HAYATI KODLA'YA ABONE OLUN!!
ETKİLEYİCİ BİR YORUM BIRAK

Php ile işlem bitmeden çıktı verme İle Benzer Yazılar

"Php ile işlem bitmeden çıktı verme" Yazısına uygun diğer makalerler