[]

php ve sleep sorunsalı mı desem ne desem bilemedim şimdi

merhabalar php çocukları
sleep() fonksiyonuna işim düştü,
<?php
echo 'a' . "\n";
// Betik 10 saniye uyusun
sleep(10);
// uyandı !
echo 'b' . "\n";
?>
gibi bir kullanımda sayfanın gösterilmesi 10 sn sürüyor.
önce a yı ekrana basıp sonra 10 saniye uyumasından sonra b yi ekrana basması gerekir diye bir teorim var ama bu sekilde olmuyor malesef.
a yı da b yi de 10 sn geçtikten sonra ekrana basıyor. daha dogrusu öyle gözukuyor. bütün php dosyası sunucuda işlendikten sonra ekrana cıktı urettiginin farkındayım ama sleep sanki tam işe yaramıyor gibi geldi bana. baska bir yol öneren var mıdır acaba ?

 
div'i "display: none" ile gizli olarak getirip, javascript "setTimeout" ile 10 saniye sonra "display: block" kullanarak görünür yapabilirsin.

edit: senin de farkettiğin gibi "sleep" kullanarak içeriği sonradan gösterme gibi bir işlem yapamazsın. bu örnekteki gibi içerik manipülasyonlarını, sonradan yükleme, gizleme vs. gibi işlemleri css ve javascript kullanarak yapabilirsin.
  • pouze  (13.02.14 11:16:42 ~ 11:22:01) 
@pouze
yapacagım iş içerik gösterme ile ilgili olmayacak, database ilişkili bir işlem olacagı icin js veya css ile çözüm olmaz. lakin dediğin gibi içerik gösterme ile ilgili bir işlem olsaydı js ve css ile çözülürdü. ama yine de teşekkur ederim

  • vadrigar  (13.02.14 11:51:28) 
tamam o zaman "ajax" kullanabilirsin. 10 saniye sonra "post" ettir, artık ne işlem yapıyor ise yapsın. cevabı alman gerekiyor ise gönderip, ekrana yazdırırsın.

direk sorunu yazabilme imkanın var ise yaz, daha çok çözüm odaklı bir cevap verebilirim belki. çünkü doğru anladıysam çok komplike bir işleme benzemiyor.
  • pouze  (13.02.14 12:09:49) 
bu işini görecektir :

<?php
echo 'bu bir<br>';
ob_end_flush();
flush();
sleep(5);
echo 'bu iki';
?>
  • gecusan  (13.02.14 12:19:11) 
@gecusan
mantıklı gorunuyordu, denedim fakat istenilen gibi olmadı. sen denedin mi ?

  • vadrigar  (13.02.14 12:29:25) 
sürekli kullandığım kod, bende sorunsuz çalışıyor, php 5.3 apache üzerinde çalışıyor. browser chrome firefox ve safaride sorunsuz.


  • gecusan  (13.02.14 12:44:21) 
ben calıstırdıgımda sayfa 5 saniye geç yuklendi ve ikisi aynı anda ekranda gozuktu.
benim istedigim:
ilki gozuksun, 5 saniye bekleyelim ikincisi gozuksun.
  • vadrigar  (13.02.14 12:53:12) 
evet aynen senin istediğin gibi çalışıyor, birinci echo yu yazıyor 5 saniye bekliyor ikinci echo yu yazıyor, sanırım senin php.ini ile birtakım sıkıntıların var. kodun başına şunları ekleyip dener misin ? :

@ini_set('zlib.output_compression',0);
@ini_set('implicit_flush',1);
@ob_end_clean();
set_time_limit(0);
  • gecusan  (13.02.14 12:59:27) 
@gecusan
yok olmadı.
.ini dosyasını da değiştirdim. restart caktım, kasayı yan bile yatırdım. sonuc aynı.
başka bir yol deneyeceğim artık.
teşekkürler tüm yardımlar için.
  • vadrigar  (13.02.14 15:54:28) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.