Digital-X Posted April 3, 2004 Report Share Posted April 3, 2004 man piemeeram ir kaads loops, kursh generee numurus no 1 - 100000000000(piemeers) kaa, lai uztaisa ka lapa veraas valjaa pakaapeniski, t.i. veraas valjaa liidz ar kodu, nevis peec tam kad kods ir beidzis darbiibu. Piemeeram shinii gadiijumaa buus ilgi jaagaida, un useris nesapratiis vai kautkas notiek vai nee... un es gribu lai raada to kas notiek... 1 2 3 4 5 6 7 u.t.t. JavaScriptaa liek <p> beigaas, vai kaa tur, bet ko lai dara php? Link to comment Share on other sites More sharing options...
Aleksejs Posted April 3, 2004 Report Share Posted April 3, 2004 (edited) Ar PHP to dara ieslēdzot Output Buffering, un katras iterācijas galā veicot flush buferim. Vēl viena nianse - datiem ir jābūt pietiekamiem, lai pārlūks varētu tos attēlot (render). T.i. daži browseri, cik zinu, piemēram, neattēlo tabulu, kamēr nav saņemti visi tabulas dati, ja iepriekš nav aprakstīta tabulas struktūra (cik būs kolonnu). http://lv.php.net/manual/en/ref.outcontrol.php Edited April 3, 2004 by Aleksejs Link to comment Share on other sites More sharing options...
Vistu Zaglis Posted April 3, 2004 Report Share Posted April 3, 2004 (edited) Nu bet tak jem visu lapas kodu un ģenerē "on the run". Jo, kā jau būsi pamanījis, PHP pieļauj tādu pierakstu, kā <?php while(bla bla) { ?> te seko html kods bez ierobežojumiem <?php } ?> Ja, savukārt, tu gribi, lai lapa tiek porcijām padota no servera, tad baidos, ka nespīd gan! Ja nu vien tu negribi, lai tā page visu laiku refrešojas, bet tas lietotājam būs vēl lielāks gemorojs, nekā sekundi pagaidīt, kamēr tiek apstrādāti tie 1000000 ierakstu. Edited April 3, 2004 by Vistu Zaglis Link to comment Share on other sites More sharing options...
Digital-X Posted April 3, 2004 Author Report Share Posted April 3, 2004 hmz, vai shitaa? <? ob_start(); for($i=0; $i<9999999;$i++) { echo $i."<br />"; } //end for ob_end_flush(); ?> Link to comment Share on other sites More sharing options...
Aleksejs Posted April 3, 2004 Report Share Posted April 3, 2004 Gandrīz ;) ob_start(); for($i=0; $i<9999999;$i++) { echo $i."<br />"; ob_flush(); } //end for ob_end_flush(); Link to comment Share on other sites More sharing options...
Digital-X Posted April 3, 2004 Author Report Share Posted April 3, 2004 (edited) hmz, tomeer nekaa nesanaak :( php.ini uzliku output_buffering = on\ palaidu vieni riktiigi labu loopu, un man bauj... Fatal error: Maximum execution time of 90 seconds exceeded in Disk:\Path\to\script\loop.php on line XX Nekaa sekmiiga nav :( vai varbuut es nepareizi pielietoju Edited April 3, 2004 by Digital-X Link to comment Share on other sites More sharing options...
Aleksejs Posted April 3, 2004 Report Share Posted April 3, 2004 Viss ir pareizi, vienkārši skripts darbojās par ilgu, nekā ļauj tava php.ini konfigurācija Link to comment Share on other sites More sharing options...
Recommended Posts