[PHP] flush() IE

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ć?

0

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

0

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

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);
    }

?>
0

okej dizeki przetestuje zaraz sleepa i 1024 ...

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 nie 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

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

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();
  }
?>

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