Es kann auch prima alles heruntergeladen werden, jedoch schaffen es meine Browser trotz Content-Length nicht, eine Restdauer zu berechnen, da Sie die maximale Dateigröße nicht zu kennen scheinen…
Der Fehler tritt bei aktuellem Opera, IE und Firefox auf…
Benutzt man Downloadmanager wie Flashget oder Orbit, dann wir die Gesamtdateilänge korrekt bestimmt…
Die Dateigröße ist die echte… ich habe lediglich den inhalt für filesize hingeschrieben, um Probleme, die damt in Verbindung stehen, ausräumen zu können… Leider funktioniert es mit filesize auch nicht…
Kompliziert ist relativ, eigentlich ist das sogar ein ziemlich einfacher Versuch. Aber ich wundere mich, warum man das Protokoll mit der Hand schreibt. Das würde bei uns kein Assistent annehmen.
Ich glaube, ich habe das Problem gefunden: bplaced (auch square7) sendet PHP-dateien immer mit gzip komprimiert und gibt keine Übertragungsgröße an. Die Browser erlauben das, deine Downloadprogramme aber nicht, diese fordern unkomprimierte Daten an, dann bleibt auch der Header mit der Größe erhalten. Das kannst du z.B. damit sehen: web-sniffer.net/
Ich wüsste nicht, wie du das umgehen kannst. Die Dauer kann nur angezeigt werden, wenn du die Datei direkt, ohne PHP-Skript herunterlädst denke ich.
Edit: Ich habe eine Möglichkeit gefunden aber ich bin mir nicht sicher, ob ich sie veröffentlichen darf.
Edit: Ach, egal. Sende einfach einen falschen Content-Encoding-header, z.B. header("Content-Encoding: plainbinary");
[code]<?php // Nur Name und Pfad anpassen
$filename = ‘extract.phps’;
$filepath = DIR;
vielen dank für den Hinweis^^
Das funktioniert tatsächlich wunderbar^^
Und auch danke für die restlichen Header, die du in deinem Code-Beispiel angegeben hast.