Datan kirjoitus osissa

basss

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

4

411

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • keksa1
    • 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

    1. Ihanasti alkoi aamu: SDP:n kaula kokoomukseen jo 6,9 %-yks

      Lindtmanin I hallitus on tukevasti jytkyttämässä laittamaan Suomi kuntoon Orvon täystuhohallituksen jäljiltä, jonka kann
      Maailman menoa
      327
      2489
    2. Olen niin kesken

      Omien asioiden suhteen etkä voi odottaa loputtomiin. Mun on muutenkin niin vaikea suhun luottaa vaikka joku ihme syvyys
      Ikävä
      16
      1890
    3. Teidän persujen pitäisi välillä miettiä kuinka Suomen talous saataisiin kuntoon

      Ja lopettaa tuo tyhjänpäiväinen maahanmuuttajista höpöttäminen. Teillä on sentään rahaministerin salkku tällä kierroksel
      Maailman menoa
      71
      1845
    4. Minkä ikäinen

      Minkä ikäinen on kaipauksesi kohde?
      Ikävä
      101
      1474
    5. Tietääkö joku ylläpidosta?

      Miten näillä palstoilla tomii tuo ylläpito, onko sitä yli päätään olemassa vai ovatko huhut totta että on palstan kirjoi
      Sinkut
      224
      1461
    6. Auttaja paikalla. Kerro huolesi. (Osa 2)

      Voin auttaa sinua näkemään tilanteesi uudesta näkökulmasta. Voin antaa lohtua, toivoa ja rohkeutta. Olen elänyt maan pä
      Ikävä
      186
      1190
    7. Martina ei mennyt naimisiin

      IS 17.9: Martinan häät peruuntui, tajusi, ettei ollut oikea aika. Rahat meni hevosiin. On edelleen parisuhteessa Yhdysva
      Kotimaiset julkkisjuorut
      144
      1063
    8. Kaninkolojen vaikutus?

      Vinkki sinkkumiehille: jos haluatte kunnollisen täysijärkisen naisen, niin kaivautukaa ulos kaninkoloistanne ja parantak
      Sinkut
      176
      1027
    9. TTK:sta tippunut Sara Siipola rehellisenä Jurza-open kanssa: "Että jaa, siinäkö..."

      Tippuiko oikea TTK-pari ensimmäisenä? Joka tapauksessa iso kiitos tansseistanne Sara ja Jurza Tanssii Tähtien Kanssa -p
      Tanssii tähtien kanssa
      20
      1020
    10. Nainen olet ensimmäinen tarpeeksi vahva

      joka kestää tämän kokonaisuuden, minut. Persoonani, tunteeni, kipuni, pelkoni. Olen aina pidätellyt itseäni ja antanut v
      Ikävä
      60
      1013
    Aihe