Hallo,
wenn ich mittels PHP einen download realisieren möchte klappt das zwar mit dem unten beigefügt script, aber es gibt zwei Probleme:
- Mir scheint daß, das Script auch dann weiter ausgeführt wird - sprich der download geht weiter - wenn der User den download abbricht. Denn ein neuer Download scheint erst nach einiger Zeit wieder zu funktionieren.
Gibt es eine Möglichkeit so ein Abbrechen abzufangen und das script dann ebenfalls vorzeitig zu beenden?
- Beim IE6 (nicht bei Mozilla) tritt bei mir das Problem auf, daß sofern ein Download abgebrochen wurde ein erneutes Downloaden nicht mehr möglicht ist. In der Statuszeile steht ewig "wird geöffnet" aber das ganze Script reagiert überhaupt nicht mehr.
hier ist ein Auszug aus meiner "download.php"
if (strstr($HTTP_USER_AGENT,"MSIE 5.5")) { // had to make it MSIE 5.5 because if 6 has no "attachment;" in it it defaults to "inline"
$attachment = "";
} else {
$attachment = "attachment;";
}
header("Cache-control: max-age=31536000");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // always modified
header("Content-Length: " . $_GET[size]);
header("Content-type: application/octet-stream");
header("Content-disposition: $attachment filename=".$_GET[file]);
header("Content-Transfer-Encoding: binary");
readfile("upload/".$_GET[file]);
Was spricht denn dagegen, daß ich den download über header(location: "http://www.meinedomain/meinfile.zip") regele? Dann treten die Probleme nicht auf. Allerdings kann ich so zumindest mal keine PDFs, Diverse Graphikformate, etc. zum Download anbieten weil die ja alle direkt im Browser geöffnet werden würden. Oder geht das doch?
Grüße,
Mark