Datei über php Script ausgeben

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Datei über php Script ausgeben

    Hey,
    ich gebe eine Eatei über
    PHP-Code:
    while (!feof($handle)) { echo fgets($handle4096); } 
    aus. Wie kann ich jetzt überprüfen ob die Datei wirklich komplett vom Browser empfangen wurde und nicht vorher die Verbindung irgendwie getrennt wurde?

    Schonmal vielen dank für eure Hilfe
    Zuletzt geändert von TimeRaider; 26.11.2007, 15:20.

  • #2
    Du könntest die Datei öffnen und den Inhalt als md5 umwandeln und später die MD5 Summe noch einmal prüfen. Wobei das eher unsinnig ist, erst md5 zu prüfen und dann noch einmal zu lesen.

    Du könntest aber auch einfach die größe prüfen und später die größe prüfen, die du ausgegeben hast.
    No one can predict the future...
    [Skwawl]

    Kommentar


    • #3
      hm die größe prüfen die ausgegeben wurde hört sich gut an, aber was passiert, wenn die verbindung frühzeitig getrennt wird? Läuft das Script dann einfach weiter oder bricht es ab?
      Am besten wäre es außerdem, wenn man dann irgendwie eine Exception werfen könnte, weil das Script, wenn die Datei nicht komplett übertrage wurde noch ein paar Sachen erledigen muss.

      Kommentar


      • #4
        Schau dir mal die Verbindungsfunktionen von PHP an z.B. ignore_user_abort() und connection_aborted()

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          die größe prüfen die ausgegeben wurde hört sich gut an
          Und welche Grösse willst du womit vergleichen? Du hast einerseits die Grösse des Files auf'm Server und andererseits die Grösse beim Client. Und den Zugriff auf den Client kannst du mittels PHP gleich wieder vergessen.
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            danke jahlives mit ignore_user_abort() und connection_aborted() hats wunderbar geklappt

            Kommentar

            Lädt...
            X