Eli tämmönen on tilanne. PHP-skriptissä haen luupissa pariltasadalta nettisivulta tietoja. Koko skriptin suoritus kestää yli 10 minuuttia. Olisi hauska saada haun tuloksia tulostettua sitä mukaa kun niitä tulee. Luupissa on kyllä echo-lauseet, mutta ne sitten tulostuvat kaikki kerralla, vasta kun koko skripti on suoritettu. Onko PHP:ssä edes mahdollista saada tulostettua sitä HTML:ää kesken suorituksen?
Varmasti toimivaa tapaa ei taida olla, mutta testaapa flush-funktiota. Jos ajat skriptin omalla koneellasi, voisit myös tehdä vaikka niin, että skripti tallentaa luetut tiedot tiedostoon ja toinen skripti näyttää tiedoston senhetkisen sisällön automaattisesti päivittyvällä sivulla.
ob_flush(); flush();
Nuo molemmat kun laitat niin varmasti toimii. Huomasin itse kun pelkkä flush() ei riittänyt.
T.M. kirjoitti:
ob_flush(); flush();Nuo molemmat kun laitat niin varmasti toimii. Huomasin itse kun pelkkä flush() ei riittänyt.
Juuh, toimii kyllä ie:llä, mutta Operalla ei tietoakaan... Ja käytännössä kuitenkin IE sucks!!
Kiitos vastauksista. Nyt lähti toimimaan. Siinä skriptissä oli vielä sellainenkin yksinkertainen vika, mikä esti tietojen päivittymisen niiden tullessa, että laitoin datat html-taulukkoon. Tuo flush() ei näköjään tulosta vajaata taulukkoa riveittäin, vaan tulostaa koko taulukon vasta sitten kun tulee </table> lopetustagi. Pitää nyt vaan muotoilla ilman taulukoita.
ajv kirjoitti:
Juuh, toimii kyllä ie:llä, mutta Operalla ei tietoakaan... Ja käytännössä kuitenkin IE sucks!!
Kyllä tämä näyttää toimivan operallakin:
http://koti.mbnet.fi/winuus/set/
koodi:
Niin ja sivua ei voida näyttää kesken scriptin suorituksen jos seassa on jotain eriokoista HTML:ää
Plaintext näkyy parhaiten, <BR> tagit toimivat myös, mutta sekaan, tai sitä ennen on turha laittaa mitään taulukoita ym.
Jostain hassusta syystä sivu ei näy kuin vasta 10 sekunnin päästä jos käyttää noita flusheja.
Juuh, niinpä näyttää tomivan. Testasin vain tuota sun Koodin nopeuden testaajaa ja siinä en saanut tuota toimimaan Operalla.
Joo eipäs näytäkkään toimivan, paska juttu. Johtunee tuosta <pre> tagista. IE se sitten osaa ;)
Aihe on jo aika vanha, joten et voi enää vastata siihen.