Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#1

PHP - Downloadscript liefert falschen Dateinamen

  Alt 10. Jun 2006, 09:31
Hallo,

ich verwende bei mir auf der Homepage ein Downloadscript welches anhand einer ID eine Datei zurück gibt und eigentlich auch einen Dateinamen mit zurück geben soll. Das Script sieht wie folgt aus
Code:
<?
  require "dbconnect.php";

  $query = "Select url, filename from downloads where id = \"$id\"";
  $res = mysql_query($query, $link);
  if ($row = mysql_fetch_row($res))
  {
    $fp = fopen($row[0],"r");
    if ($fp)
    {
      header("Content-Type: application/zip");
      header("Content-Disposition: attachment; filename=".$d[1]);

      $str = fread($fp,filesize($row[0]));
      print($str);
      fclose($fp);
    }
    else
    {
      print("File not found.");
    }
    $query = "update downloads set cnt = cnt + 1 where id = \"$id\"";
    $res = mysql_query($query, $link);
  }
  else
  {
    print("invalid ID");
  }
?>
$d[1] hat bei einer der Abfragen den wert "desktopswitch.zip". Trotzdem wird zum Beispiel beim Opera die Datei als "download.zip" heruntergeladen (wenn die url so aussieht: download.php?id=desktopswitch.zip). Bei anderen Browsern wird die Datei sogar als "download.php" heruntergeladen. Wie bekomm ich es hinn das der Browser die Datei wirklich als "desktopswitch.zip" herunterlädt? (ich kann ja kaum vom Nutzer erwarten das er die Datei selbst umbenennt um mit dieser arbeiten zu können)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat