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

425

    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. 6 kW saunan lämmityksestä kohta 10 euron lisämaksu / kerta

      Kokoomuslainen sähköyhtiöiden hallitsema Energiavirasto ehdottaa 5 kW:n rajaa, jonka ylittämisestä tulee lisämaksu. Tark
      Maailman menoa
      241
      7467
    2. Duunarit hylkäsivät vasemmistoliiton, siitä tuli feministinaisten puolue

      Pääluottamusmies Jari Myllykoski liittyi vasemmistoliittoon, koska se oli duunarien puolue. Sitä samaa puoluetta ei enää
      Maailman menoa
      139
      3901
    3. Oppiiko vasemmistolaiset valehtelun jo kotonaan?

      Sillä vasemmistolaiset/äärivasemmistolaiset valehtelee ja keksii asioita omasta päästään todella paljon. Esim. joku vas
      Maailman menoa
      117
      2178
    4. Olen väsynyt tähän

      En osaa lopettaa ja koen huonoa omaatuntoa tästä. Kaikki on muutenkin turhaa ja tekemisesi sattuvat. Tunteita on vain hy
      Ikävä
      26
      1477
    5. Olenko mies sinun mielestä outo?

      Saat vastata rehellisesti.
      Ikävä
      43
      1453
    6. Millasia unelmia sulla on?

      onko unelmia...?
      Ikävä
      33
      1372
    7. Minneapolisin tapauksesta hyvä video

      Runoilijan auto oli poikittain tiellä ja kun poliisit lähestyivät sitä, runotyttö painoi reippaadti kaasua. Auto syöksäh
      Maailman menoa
      341
      1190
    8. Miksi et voi tutustua minuun irl?

      Vastaa yleisellä tasolla/ympäripyöreästi, jos pelkäät tunnistamisia.
      Ikävä
      141
      1002
    9. Milloin palaat

      Odotan niin kauan kun vaan jaksan toivoa. Tiedät että sua jäi joku ikävöimään. ❤️
      Ikävä
      23
      938
    10. Tiesitkö? Uusi Bachelor on raivannut tietään määrätietoisesti somessa, myös Böckermanin ex-rakas!

      Arttu Kilpeläinen tuli julkisuuteen Pernilla Böckermanin rakkaana. Pariskunta päätyi eroon v. 2024. Ex-poliisi Kilpelä
      Suomalaiset julkkikset
      7
      907
    Aihe