ugrás a tartalomhoz

Időigényes művelet közben folyamatos megjelenítés

Anonymous · 2006. Ápr. 15. (Szo), 16.16
Vegyünk példának mondjuk egy port scant (PHP-ben írva), vagy egy hírlevél küldő ciklust, ami mondhatni elég időigényes folyamat. Van arra mód, hogy ne kelljen kivárni, amíg a PHP dolgozik, hanem a már meglévő eredményeket folyamatosan írja ki a böngészőbe?
 
1

print

winston · 2006. Ápr. 15. (Szo), 16.25
ha mondjuk nem változóba gyűjtöd a kiirandókat, és nem a ciklus után printeled / echozod ki, hanem minden egyes cikluslépésben egy print / echo kilöki, akkor az folyamatosan írja ki. de szvsz inkább próbáld meg optimalizálni, hogy ne kelljen annyi adatot megmozgatnia (tisztább kód, jobb sql szerkezet, cashelés, akármi)
3

Re: print

Anonymous · 2006. Ápr. 15. (Szo), 17.27
Sajnos ez nem így működik. Példa:

<?php

for ($i = 0; $i <= 10; $i++) {

	echo $i."<br />\n";
	sleep(1);

}

?>
Ez - legalábbis nálam - nem folyamatosan írja ki az eredményt, hanem csak amikor már végigfutott a script, egyszerre kidobja az egészet.
2

Van

attlad · 2006. Ápr. 15. (Szo), 16.28
http://php.net/manual/en/ref.outcontrol.php
4

Re: Van

Anonymous · 2006. Ápr. 15. (Szo), 17.31
Ismerem, sőt használom is a kinemet bufferelő függvényeket, de talán nem eléggé. Konkrétan mire gondoltál? Mert az alábbi példa nálam nem folyamatosan dobálja ki az eredményt, hanem egybe az egészet, mikor végigfutott a script.

<?php

ob_start();

for ($i = 0; $i <= 10; $i++) {

	echo $i."<br />\n";
	sleep(1);
	ob_flush();

}

?>
Próbáltam az ob_flush(); helyett az ob_end_flush();-t is, eredmén ugyanaz.
5

flush

attlad · 2006. Ápr. 15. (Szo), 18.05
Az ob_flush() után rakj egy flush()-t.
6

Re: flush

Anonymous · 2006. Ápr. 15. (Szo), 18.30
Biztos én vagyok a hülye, de nem tudom, hogy hova gondoltad... Próbáltam a ciklus elé, után, ciklusba az ob_flush(); elé, után, még helyette is, de az eredmény változatlan...
7

Böngésző?

attlad · 2006. Ápr. 15. (Szo), 18.40
Milyen böngészővel nézted? Firefox-szal próbáld ki.
8

1.5.0.2

Anonymous · 2006. Ápr. 15. (Szo), 18.43
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2
9

Nálam megy

attlad · 2006. Ápr. 15. (Szo), 19.20
Ideiglenes tesztlap: http://href.hu/x/1anx
Firefox 1.0x és Opera 9 alatt néztem, IE-hez a php.net-en írják a megoldást.
11

Vid

Anonymous · 2006. Ápr. 15. (Szo), 20.18
Itt egy vágatlan videó is a tesztoldaladról.
10

Re: Nálam megy

Anonymous · 2006. Ápr. 15. (Szo), 19.36
Ha esetleg a konkrét forrást is közölnéd...
Egyébként nálam továbbra sem megy, a tesztkódodat megnyitva is egyből az egészet kapom, ahelyett, hogy másodpercenként jelenne meg egy szám.
Másnak mi a tapasztalata?
IE-hez a php.net írják a megoldást.

Esetleg egy direkt linket tudnál adni? Elég nagy ahhoz a php.net, hogy csak úgy odalökd valakinek, hozzátéve, hogy ott a megoldás...

FF config:
Generated: Sat Apr 15 2006 19:33:30 GMT+0200 (Central Europe Daylight Time)
User Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2
Build ID: 2006030804

Enabled Extensions: [35]
- All-In-One Sidebar 0.6.4: http://firefox.exxile.net/aios/
- Auto Copy 0.6.2: http://autocopy.mozdev.org
- Close Button 0.3: http://www.google.com/search?q=Firefox%20Close%20Button
- ColorZilla 0.8.3.1: http://www.iosart.com/firefox/colorzilla/
- Context Highlight 0.2: http://www.cusser.net
- Cooliris Previews 1.1: http://www.google.com/search?q=Firefox%20Cooliris%20Previews
- Crash Recovery 0.6.6: http://forums.mozillazine.org/viewtopic.php?t=164513
- DOM Inspector 1.8.0.2: http://www.mozilla.org/projects/inspector/
- Exit Button Firefox 0.1: http://www.linnhe.net/firefox/extensions.html
- Fasterfox 1.0.3: http://fasterfox.mozdev.org/
- FireBug 0.3.2: http://www.joehewitt.com/software/firebug/
- Firefox Extension Backup Extension (FEBE) 2.0: http://customsoftwareconsult.com/extensions
- Flashblock 1.5.1: http://flashblock.mozdev.org/
- GooglePreview 1.3: http://ackroyd.de/googlepreview/
- Html Validator 0.7.9: http://users.skynet.be/mgueury/mozilla/
- Kill Google Ads 1.1: http://360.yahoo.com/reachagoyal
- Live HTTP Headers 0.12: http://livehttpheaders.mozdev.org/
- Long Titles 1.2.1: http://home.etu.unige.ch/~robin0/LongTitles_en.html
- Mouse Gestures 1.0.4: http://optimoz.mozdev.org/gestures/
- MR Tech Local Install 4.6.2: http://www.mrtech.com/extensions/local_install/
- no-referrer 0.8: http://www.google.com/search?q=Firefox%20no-referrer
- NoScript 1.1.4: http://noscript.net
- Open Image In New Tab 1.0: http://next.gen.nz
- Page validator 0.1: http://www.nu22.com/firefox/validator
- Pearl Crescent Page Saver 1.0: http://pearlcrescent.com/products/pagesaver/
- Popup ALT Attribute 1.3.2005092701: http://piro.sakura.ne.jp/xul/_popupalt.html.en
- sztakidict 0.2: http://szotar.sztaki.hu/
- TimeStamp Converter 1.3.1: http://www.google.com/search?q=Firefox%20TimeStamp%20Converter
- TimeTracker 1.1.2: http://www.usablehack.com
- Update Notifier 0.1.2: http://www.longfocus.com/firefox/updatenotifier
- User Agent Switcher 0.6.8: http://chrispederick.com/work/firefox/useragentswitcher/
- View Dependencies 0.3 0.3.0.0: http://www.google.com/search?q=Firefox%20View%20Dependencies%200.3
- Web Developer 1.0.2: http://chrispederick.com/work/webdeveloper/
- Window Resizer 0.5: http://www.yellowpipe.com/yis/tools/
- Yellowpipe Lynx Viewer Tool 1.2: http://www.yellowpipe.com/yis/tools/lynx/rightlynx/

Disabled Extensions: [1]
- Selenium IDE 0.7.2: http://www.openqa.org/selenium-ide/

Total Extensions: 36

Installed Themes: [1]
- Firefox (default): http://www.mozilla.org/

Installed Plugins: (6)
- DivX Player Netscape Plugin
- Java(TM) 2 Platform Standard Edition 5.0 Update 6
- Microsoft® DRM
- Mozilla Default Plug-in
- Shockwave Flash
- Windows Media Player Plug-in Dynamic Link Library
12

Re: Nálam megy

attlad · 2006. Ápr. 15. (Szo), 20.21
A forrás pont az amit beírtál kiegészítve a közvetlenül ob_flush után írt flush-sal.

IE: php.net/flush

Láthatod, hogy mennie kéne: http://href.hu/x/1ao4

Kipróbáltam 1.5.0.2 alatt, nálam abban is jó.

Kiterjesztések: hogy azok miatt lehet-e azt neked kell kipróbálnod, azzal hogy -safe-mode paraméterrel vagy új profillal indítod a Firefox-ot és úgy nézed meg.
13

Thx

Anonymous · 2006. Ápr. 15. (Szo), 20.32
Látom, és csekkoltam másik gépen is, szóval nálam lesz valami bibi... Megpróbálok rájönni, hogy mi okozza.
Köszönöm a válaszokat.
14

safe-mode

Anonymous · 2006. Ápr. 15. (Szo), 20.59
Próbáltam safe-modeban is, helyzet változatlan.
Néztem PHP v5.1.2 és v4.3.11 alatt is, de eredmény ugyanaz. Szóval már nem nagyon tudok mire gondolni...
15

php.ini

Hodicska Gergely · 2006. Ápr. 15. (Szo), 23.20
Meg kéne nézd a php.ini output_buffering beállításodat, mert mostanában a default config az az on beállítással érkezik, és lehet, hogy ez kavar be Neked, és emiatt nem működik a Te gépeden.


Felhő
16

output_buffering: OFF

Anonymous · 2006. Ápr. 16. (V), 11.57
Amit a php.net commentjeibe írtak, az megoldja mind IE, mind FF alatt a dolgot.

<?php

for ($i = 0; $i < 10; $i++){

	echo "Line to show.<br />\n";
	echo str_pad("", 4096);
	ob_flush();
	flush();
	sleep(1);

}

?>
Köszönöm a válaszokat.