| PHP console like output | ||
|---|---|---|
| SlimDeluxe10. nov 2011 10:35:49Pridružen od: 29. apr 2010 630 objav +489-772 | #1Zdravo, zanima me, ali ima kdo kakšno idejo ali referenco, kako bi naredil izpis nekega background procesa v stilu konzole. Npr. parsanje XML. Ko klikneš na uvoz se v enem spodnjem div-u začne "odvijati" skripta. ID 4034 spremenjena cena...Najbolj simple je, da proces, ki dela uvoz, piše v en file, ta se pa prek AJAX-a naloži v div, vendar potem se ta zadeva uporabniku ne prikazuje zaporedno, ampak se vedno refresha cel file... Kar je načeloma ok, vendar ni perfektno.Drugi način je z bazo, samo je malo bolj zahteven. Je že kdo kdaj naredil/videl kaj takega (brez Java appleta)? všeč(0)ni všeč(0)spam(0) | |
| bostjan10. nov 2011 11:09:31Pridružen od: 31. jul 2008 264 objav +255-101 | #2Poglej si progress bar od zend FW-ja (jspush in jspull adapterja) http://zendframework.com/manual/en/zend.progressbar.introduction.html všeč(+1)ni všeč(0)spam(0) | |
| SlimDeluxe10. nov 2011 12:32:47Pridružen od: 29. apr 2010 630 objav +489-772 | #3Cool, vsaj nekaj. Bom pogledal, hvala všeč(0)ni všeč(0)spam(0) | |
| AteljeIT10. nov 2011 14:20:48Pridružen od: 29. okt 2011 22 objav +3800 | #4Obstaja način, ki dejansko pušča AJAX request connection odprt, to si imenuje long polling ali commet. Long polling Kar se tiče serversida lahko delas json ali xml, v katerega zapises ID vrstice in dejanski message. V userjev session spremnjlivko shranis zadnjo prikazano vrstico, ki je bila poslana skozi AJAX. Torej, ko bo javascript naredil naslednji request ze na nivoju streznika pogledas ce so v jsonu/xmlju vrstice z IDjem večjim od tistega v SESSION-u za tega userja in ce so posljes userju nazaj samo tiste vrstice. Ce je session prazen posljes vse vrstice in zapises zadnjo, ce je vrstica v sessionu enaka zadnji v json/xml ne posljes nazaj nic. nazadnje urejal AteljeIT 10. nov 2011 14:29:58 všeč(0)ni všeč(0)spam(0) | |
| AteljeIT10. nov 2011 14:34:45Pridružen od: 29. okt 2011 22 objav +3800 | #5Torej recimo $_SESSION['polling_last_line'] (ce delas s PHP) naj ti bo tisti pointer, ki ti pove do kam je user videl output. Ker je session globalna in persistant spremenljivka, tega podatka ne bos izgubil, tudi ce delas vec locenih AJAX requestov. Samo eno opozorilo: Skripta, ki nalozi to stran, na kateri bos imel perodicni loader ali long polling, naj poresitira session spremenljivko, tako da bos kljub refreshu cele strani videl splet kompleten ajax/xml. všeč(0)ni všeč(0)spam(0) | |
| kelvan14. nov 2011 01:48:41Pridružen od: 19. okt 2007 439 objav +228-3413 | #6najbolj enostavno je, da ko aploudaš, da form kaže na isti fajl. ko začneš s procesiranjem, začneš tudi z info izpisi in za vsakim daš flush. Div, kjer se izpisujejo podatki, ima jasno črno ozadje in zelene courier fonte :) všeč(0)ni všeč(0)spam(0) | |
stran 1 od 1 |<<1>>| | ||