Curt: Download-Skript mit falscher Endung im Mozilla 1.0

Hallo,

Ich hab ein kleines Download-Skript entworfen, das mit download.php?file=test.zip beispielsweise aufgerufen wird.

Das Skript selbst sieht so aus

<?
$Filename = basename($HTTP_GET_VARS["file"]);
$MIMEType = "application/octet-stream";
if (substr($Filename,-4) == ".zip") $MIMEType = "application/zip";
$completeFilePath = '../../../freeDown/sticker/'.$Filename;
if (file_exists("$completeFilePath")) {
  $Datei = fopen($completeFilePath,'rb');
  header("Content-Disposition: attachment; filename=$Filename");
  header("Content-Type: $MIMEType");
  header("Content-Description: compressed file");
  header("Content-Length: ".filesize($completeFilePath));
  header("Pragma: no-cache");
  header("Expires: 0");
  fpassthru($Datei);
  }

exit;
?>

Das ganze funktioniert wunderbar gut, bis auf den Mozilla 1.0, der zeigt nicht den korrekten Dateinamen an im Download-Dialog steht dann "test.zip.php". Die Seite auf der das ganze eingesetzt werden soll ist für Kinder gedacht, von daher sollte dort lieber nicht PHP als endung stehen. Hat jemand Ideen oder Vorschläge dazu, wäre super.

Gruss

Curt

  1. Hallo Curt,

    also auf Anhieb kann ich nur einen Fehler entdecken:

    if (file_exists("$completeFilePath")) {

    diese Zeile müsste doch

    if (file_exists($completeFilePath)) {

    heißen, also ohne Anführungszeichen. Probier's mal, vielleicht klappt's jetzt...

    Schöne Grüße,
    Balazs