Miten tehdään streamiin kirjoittaminen sitä mukaa kun dataa valmistuu?
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=data.xls");
for ($i=0; $i
Datan kirjoitus osissa
4
398
Vastaukset
- keksa1
http://php.net/manual/en/book.outcontrol.php
esmes alussa ob_end_flush() ja sitten flush() siellä for-loopissa. - lienee hiukan
ongelmallista Excelin käsitellä "streamina" koska ihan viimeisissäkin datoissa
saattaa olla jotain joka ohjaa koko datan käyttäytymistä. - basss
Kirjoitin alkuperäisen viestin turhan epäselvästi ja esimerkissä oli liikaa liikkuvia osia, sorry. Yritän siis saada aikaan sellaista, että kun serveri pukkaa ulos tekstiä niin se tulisi selaimelle välittömästi eikä vasta kun skripti on ajettu. Esim. taulukon ensimmäinen rivi näkyisi jo selaimessa kun toista riviä vasta generoidaan serverillä. Se, että selaimelle kerrotaan että data pitää avata Exceliin (noi header-lauseet) ei ole oleellista, ne vain sattui turhaan jäämään esimerkkiin. Sleep(1) taas on koodissa siksi, että loopin suoritus kestäisi jonkin aikaa ja ehtisi nähdä tuleeko data pätkittäin vai kerralla.
Kiitos linkintä flushiin. Flush ei kuitenkaan auttanut. Linkin takana kyllä kerrotaan, että
"flush() may not be able to override the buffering scheme of your web server and it has no effect on any client-side buffering in the browser. ... Several servers, especially on Win32, will still buffer the output from your script until it terminates before transmitting the results to the browser."
Serverinä on Apache Win32-ympäristössä. Siitäköhän tässä on kyse? Mulla on Java-servletti joka tekee samaa Win32-Tomcatissa ja sieltä data tulee hienosti pätkittäin sitä mukaa kun sitä tulostetaan.- basss
Löysin netistä tämmöisen. Se toimii, vaikka en ihan kokonaan tiedä miksi :-)
function forceFlush() {
ob_start();
ob_end_clean();
flush();
@ob_end_flush();
}
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 1231853
Noniin rakas
Annetaanko pikkuhiljaa jo olla, niin ehkä säilyy vienot hymyt kohdatessa. En edelleenkään halua sulle tai kenellekään mi1001640Lasten hyväksikäyttö netissä - Joka 3. nuori on saanut seksuaalisen yhteydenoton pedofiililtä
Järkyttävää! Lapsiin kohdistuva seksuaalinen hyväksikäyttö verkossa on yhä pahempi ongelma. Ulkolinja: Lasten hyväksikäy511215Kumpi vetoaa enemmän sinuun
Kaivatun ulkonäkö vai persoonallisuus? Ulkonäössä kasvot vai vartalo? Mikä luonteessa viehättää eniten? Mikä ulkonäössä?491098Multa sulle
Pyörit 24/7 mielessä, kuljet mun mukana, mielessä kyselen sun mielipiteitä, vitsailen sulle, olen sydän auki, aitona. M31978Nainen, olen tutkinut sinua paljon
Salaisuutesi ei ole minulle salaisuus. Ehkä teimme jonkinlaista vaihtokauppaa kun tutkisimme toisiamme. Meillä oli kumm50876Mies, eihän sulla ole vaimoa tai naisystävää?
Minusta tuntuu jotenkin, että olisit eronnut joskus, vaikka en edes tiedä onko se totta. Jos oletkin oikeasti edelleen s47876Olet myös vähän ärsyttävä
Tuntuu, että olet tahallaan nuin vaikeasti tavoiteltava. En tiedä kauanko jaksan tätä näin.37810Okei nyt mä ymmärrän
Olet siis noin rakastunut, se selittää. Onneksesi tunne on molemminpuolinen 😘56798Onko sulla empatiakykyä?
Etkö tajua yhtään miltä tämä tuntuu minusta? Minä ainakin yritän ymmärtää miltä sinusta voisi tuntua. En usko, että olet38797