Martina: Timeout beim Dateiversand

Hallo,

wenn das Bateln einer Outputdatei (Grafik, Archiv, o.ä.) länger als ein paar Sekunden dauert, gibt der Browser u.u. eine Fehlermeldung.

  
<?php  
  // Fiktiver Code  
  bastel_output_datei( $output_datei );  
  header('Content-Type: mein_type');  
  header('Content-Disposition: attachment; filename="wunschname.xyz"');  
  header('Content-Length:' . filesize($output_datei) );  
  readfile( $output_datei );  
?>  

Kennt jemand eine elegante Möglichkeit, um den Browser zu etwas Geduld zu überreden? Sollte man z.B. das versenden der Headerdaten vorziehen (dann ohne Dateigröpe)?

Danke und Gruss, Martina

  1. Hello,

    wenn das Bateln einer Outputdatei (Grafik, Archiv, o.ä.) länger als ein paar Sekunden dauert, gibt der Browser u.u. eine Fehlermeldung.

    Und wie lautet die Fehlermeldung?
    Welchen Browser benutzt Du?
    Hast du die erweiterte Fehleranzeige unterdrückt? Beim IE ist das Out-of-the-Box so. Dann müsstest Du sie erstmal einschalten, damit du die Original-HTTP-Statusmeldung erhältst.

    Am besten ist aber, wenn Du z.B. beim Firefox die "Live HTTP Headers" montiert hast und für die Analyse benutzt.

    Der Fehler wird ja vermutlich auf Serverseite stattfinden. Da müsstest Du also dann schon genau wissen, was Sache ist.

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. Hello,

      wenn das Bateln einer Outputdatei (Grafik, Archiv, o.ä.) länger als ein paar Sekunden dauert, gibt der Browser u.u. eine Fehlermeldung.

      Und wie lautet die Fehlermeldung?
      Welchen Browser benutzt Du?
      Hast du die erweiterte Fehleranzeige unterdrückt? Beim IE ist das Out-of-the-Box so. Dann müsstest Du sie erstmal einschalten, damit du die Original-HTTP-Statusmeldung erhältst.

      Am besten ist aber, wenn Du z.B. beim Firefox die "Live HTTP Headers" montiert hast und für die Analyse benutzt.

      Der Fehler wird ja vermutlich auf Serverseite stattfinden. Da müsstest Du also dann schon genau wissen, was Sache ist.

      Wird die Ausgabedatei schnell generiert läuft alles glatt - dauert es etwas länger kommet in Firefox die Meldung:

      Fehler: Datei nicht gefunden

      Die Dateien unter http://www.xxx.de/xxx.php konnten nicht gefunden werden.
          *   Bitte überprüfen Sie die Adresse auf Rechtschreib-, Groß-/Kleinschreibungs- oder andere Fehler.
          *   Bitte überprüfen Sie, ob die Adresse umbenannt, gelöscht oder verschoben wurde.

      Wie ich dem Browser eine qualifiziertere Meldung entlocken kann weiss ich nicht. Ich glaube er kann mir aber auch nicht mehr geben weil die Daten ja nun mal nicht kommen.

      Danke Und Gruss, Martina

      1. Hello,

        Wird die Ausgabedatei schnell generiert läuft alles glatt - dauert es etwas länger kommet in Firefox die Meldung:

        Fehler: Datei nicht gefunden

        Die Dateien unter http://www.xxx.de/xxx.php konnten nicht gefunden werden.
            *   Bitte überprüfen Sie die Adresse auf Rechtschreib-, Groß-/Kleinschreibungs- oder andere Fehler.
            *   Bitte überprüfen Sie, ob die Adresse umbenannt, gelöscht oder verschoben wurde.

        Wie ich dem Browser eine qualifiziertere Meldung entlocken kann weiss ich nicht. Ich glaube er kann mir aber auch nicht mehr geben weil die Daten ja nun mal nicht kommen.

        Dann zeig bitte mal das das Originalscript.
        Ist die URL im Internet verfügbar, oder kannst Du sie (temporär) verfügbar machen?

        Liebe Grüße aus dem schönen Oberharz

        Tom vom Berg

        --
         ☻_
        /▌
        / \ Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
        1. Dann zeig bitte mal das das Originalscript.
          Ist die URL im Internet verfügbar, oder kannst Du sie (temporär) verfügbar machen?

          Nun, den Quelltext kann ich nicht zeigen. Habe aber ein Testprogramm geschrieben das den Fehler provoszieren soll:

            
          <?php  
            // vor dem PHP-Tag darf kein Zeichen stehen ...  
            
            sleep(30);  
            
            header('Content-Type: application/text');  
            header('Content-Disposition: attachment; filename="quelltext.php"');  
            header('Content-Length:' . filesize(  __FILE__  ) );  
            
            readfile( __FILE__ );  
          ?>  
          
          

          Und siehe da, ich kann den Fehler nicht provozieren. Das Testprogramm tut was ihm aufgetragen wird.

          Da habe ich wohl einen anderen Fehler. Bevor ich nun weiterfrage denke ich nochmal nach. Sorry für die "Störung".

          Nochmal danke, Martina