ugrás a tartalomhoz

sorok kiiratása, még mielőtt lefutna a php telljesen

pErMiKe · 2006. Júl. 24. (H), 15.18
Szewasztok!

Van egy php-m, amely egy elég hosszú műveletet végez (kb 120mp-est), és közben irogatja ki hogy miket is csinál.

Szeretném megoldani valahogy hogy ne csak akkor lássam a kimenetet amikor már lefutott hanem közben is, amig dolgozik, tehát ne csak akkor küldje el a böngészőnek amikor már lefutott a komplett php...

tuti meg lehet oldani, mert egy ismerősöm említette, hogy lehet trükközni valahogy a header-el, meg a tartalommal hogy folyamatosan kimenjen aminek ki kell...

előre is kösz, remélem érthető voltam.
 
1

trukk az mindig kell

city99 · 2006. Júl. 24. (H), 15.32
eloszor is a php-t bird ra leiras
aztan nem irtad kliens oldalon mivel akarod nezni de ott is figyelni kell mert bongeszo fuggoen cachelnak dolgokat. Nekem az jott be hogy <script> tageket rakosgatok ki koztuk a megfelelo tartalommal.
2

output_buffering

Rici · 2006. Júl. 24. (H), 16.15
A PHP beállításai között meg lehet adni, hogy a kiírt dolgokat a szerveroldalon tárolja a memóriában, és csak akkor küldje el a kliensnek, ha a program már végigfutott.

Ezt a beállítást (output_buffering a neve) kapcsold ki.

Ezen kívül még szükséges lehet, hogy a HTML kimenet szabványoshoz közeli legyen, tehát legyen doctype, html, head, body tag.

(Legalábbis amikor én hasonló dolgot csináltam, és csak sima szöveges információkat írogattam ki debug gyanánt, akkor a böngésző megvárta, amíg a szerver elküldte az egészet, és csak utána jelenítette meg. Ha azonban rendes HTML tartalmat kezdtem el küldeni, akkor már egyből elkezdte megjeleníteni.)
3

flush()

vbence · 2006. Júl. 24. (H), 16.25
Futtasd ezt a függvényt, és egyből elküldi a kliensnek az echo-val (vagy print-el) kiírt sorokat, nem csak akkor, amikor a puffer megtelik (pár kilónként).

Gondolom nincs sok outputod, ha közben egyáltalán nem kapsz semmit, csak a legvégén..
4

hosszu

breakline · 2006. Júl. 24. (H), 20.01
kicsit soknak tűnik az a 2 perc..
persze ez nem tartozik ide, de ha egy szkript ennyi ideig fut ott gondok lehetnek... mit csinál ennyi ideig?
5

barmit :)

dOMiNiS · 2006. Júl. 24. (H), 20.16
szerintem ez hulyeseg, barmit csinalhat... monduk portscannel, de tenyleg barmit csinalhat. nem?
6

persze

breakline · 2006. Júl. 24. (H), 22.40
attól függ mit csinál. De képzeld el, ha ez egy olyan program amit percenként használ mondjuk akár csak 100 embert. Nem tudom hogy ez mekkora teljesítményt venne el, de valoszinü h akánytalanul nagyot a feladathoz képest.
7

Ha csak 1 van...

janoszen · 2006. Júl. 25. (K), 07.05
Hát, ha pl. egy cront próbál emulálni vele vagy pl e-mail-t küld ki (hírlevél) vagy ilyesmi, akkor tipikusan egy felhasználó futtatja. Mondjuk az más tészta, hogy az ilyesmit nem böngészőből kellene futtatni, hanem cron job-ként és fájlba írni a futási eredményt, de hát szegény (meg nem is annyira szegény is) vízzel főz... :D