[PHP] flush() IE

Odpowiedz Nowy wątek
2006-05-21 17:12
0

Hey

korzystam z Flush() w PHP by pokazywać kolejno zawartość strony...
w FireFoxie i Operze działa
w IE nie :p

da rade to zrobić?


Pozostało 580 znaków

2006-05-21 18:13
nav
0

przecież php nie zależy od przeglądarki :|
Może IE czeka, aż dostanie całą stronę, zanim ją wyświetli?


utf-8 rlz! ٩(ಥ_ಥ)۶

Pozostało 580 znaków

2006-05-21 18:34
0

Spróbuj dać sleep(1); przed flush();, czasem pomaga.


Grunt to uziemienie...

Pozostało 580 znaków

2006-05-21 18:47
0

musisz najpierw wyslac 1024 bajty danych zeby IE zaczal wyswietlac dane na stronie

<?php

    $s = ''; 
    $i = 1024;

    while ($i--) $s .= '#';
    echo '<!-- ' . $s . ' -->';

    while (++$i < 10) {
      echo $i . '<br>';
      flush();
      sleep(1);
    }

?>

Pozostało 580 znaków

2006-05-21 19:02
0

okej dizeki przetestuje zaraz sleepa i 1024 ...


Pozostało 580 znaków

2006-08-03 00:09
0

To co napisałeś działa

ale gdy ja korzystam w pętli dodatkowo z CURL-a includuje inne pliki i robie zapytania SQLa to juz nei działa... widać na pasku IE że pobiera dane, lecz ich nie pokazuje , dopiero po zatrzymaniu strony

zrobięłem taką funkcje za kadym przejsciem przez pętle:
function flu()
{
$s = '';
$i = 1024;
while ($i--) $s .= '#';
echo '';
flush();
sleep(3);
}
lecz nie wyświetla kolejnych wierszy mojej tabeli


Pozostało 580 znaków

2006-08-03 10:47
0

bo IE wyświetla tabelkę dopiero po całym jej pobraniu i na to już nic nie poradzisz, chyba że zrezygnujesz z tabelki, nie musisz za każdym razem przed flush dawać 1024 bajtów, tylko na początku strony


Dwie zasady gwarantujące sukces:
1. Nigdy nie mów nikomu wszystkiego<span style="color: white">

Pozostało 580 znaków

2006-08-03 14:45
0

działa w IE też ale powinno sie też dawać ob_flush():

<?
  for ($x=0;$x<10;$x++)
  {
    sleep(1);
    echo $x."<br />\n";
    ob_flush();
    flush();
  }
?>

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0