phpbar.de logo

Mailinglisten-Archive

[php] Problem mit Ausgabebufferung (flush)

[php] Problem mit Ausgabebufferung (flush)

Christoph Schick php_(at)_phpcenter.de
Tue, 18 Jun 2002 09:43:25 +0200


Hi Leute!

Ich bin kurz davor mich aus dem Fenster zu schmeißen *gg

Also, über ein HTTP-Upload wird eine Text-Datei in eine Datenbank
importiert. Das Text-File hat unkomprimiert rund 16MB, mit
GZ-Kompression sind es ca. 2 MB. Das File hat rund 150.000 Datensätze
(bzw. Zeilen).

Mein Problem bisher war dass z.B. der IE einige Zeit nach dem Upload
der Datei meinte 'Server nicht gefunden' (während die Datensätze in
die Datenbank eingefügt werden). Also dachte ich mir ich sende dem
Browser einfach alle 5.000 Datensätze ne Kommentarzeile.

Im Moment sieht der Code wie folgt aus (das unnötige habe ich
entfernt):

<?php
ob_implicit_flush(TRUE);
echo('<!-- ANTITIMEOUT COMMENT -->');

$import_zeilen = gzfile($_FILES[importfile][tmp_name]);
$i = 0;

while($i < sizeof($import_zeilen))
{
    if($i % 5000 == 0)
    {
        echo('<!-- ANTITIMEOUT COMMENT -->');
    }

    //Hier werden die Daten in die DB eingefügt
    $i ++;
}

//Hier kommt dann die eigentliche Ausgabe.
?>

So, nun zu meinem Problem: Nach dieser Änderung zeigt er mir genau
EINE Kommentarzeile ein. Mehrere werden nicht angezeigt, und das was
bei 'eigentliche Ausgabe' ausgegeben wird zeigt er sowieso nicht mehr
an. Das seltsame ist das der Browser nach der Ausgabe der einen
Kommentarzeile die ausgegeben wird auch nichts mehr weiterladet.

Ich danke euch jetzt schon für die HIlfe!

Schöne Grüße
Christoph


php::bar PHP Wiki   -   Listenarchive