Anonymní profil peter – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil peter – Programujte.comAnonymní profil peter – Programujte.com

 

Příspěvky odeslané z IP adresy 2001:718:2601:258:340d:98d5:9f6:80a5...–

peter
PHP › Průběžné vypisování stránky
14. 5. 2020   #386072

Mozna zkus napsat, ceho chces docilit. Mozna by se naslo vhodnejsi reseni. Treba mne jeste napada 

https://jsfiddle.net/qk2m3rsy/

<span id=aaa></span>
<script>
function writeText(str)
{
var el;
el = document.getElementById('aaa');
el.innerHTML = str;
}
writeText('1');
setTimeout("writeText('2')", 1000);
setTimeout("writeText('3')", 2000);
setTimeout("writeText('4')", 3000);
</script>
peter
PHP › Průběžné vypisování stránky
14. 5. 2020   #386071

   

ob_end_flush();

# CODE THAT NEEDS IMMEDIATE FLUSHING

ob_start();

---

ob_implicit_flush(true);

# CODE THAT NEEDS IMMEDIATE FLUSHING

ob_implicit_flush(false);

Ale, jak pise kiv, vetsinou byva z nastaveni serveru prednastaveno chovani, aby se vypisovalo vse naraz.

Jeste mne napada reseni pomoci metarefresh

// ale muze se ti stat, ze to browser blokne po 1-2 presmerovanich :)
$i = isset($_GET['page']) ? (int) $_GET['page'] : 1;
if ($i>0 && $i<5)
    {
    echo '<meta http-equiv="refresh" content="5;url=http://example.com/zobraz.php?page='.(++$i).'" />';
    }
echo --$i;
peter
PHP › Průběžné vypisování stránky
14. 5. 2020   #386070

Musis zacit premyslet uz konecne sam :)

google = php zobrazovani stranky postupne

<?php
#header('Content-type:text/plain');  # on/off
#header('Content-Transfer-Encoding: chunked'); # on/off
for($o=5;--$o;){	
#echo "$o<br>"; 
# jedno	
#echo "$o-br-"; 
# nebo druhe	
usleep(1e6);	
ob_flush();
}

A dale na te strance, co jsem nasel, tak odkazuji na vyhledavani slov
google = php flush
https://www.php.net/…on.flush.php
 

<?php
if (ob_get_level() == 0) ob_start();
for ($i = 0; $i<10; $i++){
        echo "<br> Line to show.";
        echo str_pad('',4096)."\n";   
        ob_flush();
        flush();
        sleep(2);
}
echo "Done.";
ob_end_flush();
?>

---

<?php
  ob_implicit_flush();
  ob_end_flush();
  ?><body>[1013 more characters]<?php
  for ($i = 1; $i < 30000000; ++$i) {}
  echo "something that didn't show up immediately";
?>

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032021 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý