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

453

    Vastaukset 4

    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ä.

    Takaisin ylös

    Luetuimmat keskustelut

    1. Miksi vanhusraiskaajaa ei ole palautettu?

      Ukkola kysyy Rantaselta, vaikka perussuomalaiset ovat olleet hallituksessa kolme ja puolivuotta. Rantasen vastaus on "
      Maailman menoa
      409
      1855
    2. Onko ikäerolla väliä?

      Mitä mieltä ootte? Meillä on 14 vuotta ikäeroa.
      Ikävä
      144
      1371
    3. Mitä kirjainta kaipaat?

      🤣🤣🤣🤣🤣
      Ikävä
      116
      1316
    4. Onko sulla rakas mitään sanottavaa?

      Lähetä tässä kaivatullesi haluamasi terveiset 💌
      Ikävä
      165
      1313
    5. Katri Helena rikkoi hiljaisuuden dramaattisella uutisella: "Elossa ja ilossa ollaan"

      Katri Helena on sinivalkoinen ääni. Hänen klassikkohittinsä ovat tärkeä osa suomalaista kansanperintöä. Katri veti jääh
      Suomalaiset julkkikset
      28
      1086
    6. Uusioperhe vai salasuhde?

      Mitä ensisijaisesti haluat? Pelkään, että menetän järjen sun kanssa 😉
      Ikävä
      111
      882
    7. Nanna hakkasi Martinan aivot tuusan nuuskaksi!!!

      Ihme jos Martina pystyy muodostaa järkeviä lauseita tämän nyrkkisateen jälkeen. Ottelupalkkio tuli, tajunta meni.
      Kotimaiset julkkisjuorut
      218
      790
    8. Otan vielä sut

      Niin on tähtiin kirjoitettu. Nainen, turha on kohtaloa juosta pakoon.
      Ikävä
      59
      681
    9. Mulla on ikävä sua!

      Enemmän kuin ikävä... sun kanssa oli niin helppo olla ja jutella!
      Ikävä
      24
      625
    10. Vaikea löytää samantyylistä miestä

      Nyt on pakko avautua. Onko ketään muuta jonka on yksinkertaisesti todella vaikeaa löytää samanhenkistä kumppania kuin i
      Sinkut
      123
      621
    Aihe