fehlerhafte datei nach erzwungenem download

streamerbm

Grünschnabel
hi! da ich es sehr nervig finde wenn der IE manche Dateien die ich auf meiner HP zum Download anbiete gleich öffnet anstatt sie zu speichern, hab ich mich mal kundig gemacht und auch was gefunden...
Der Code funktioniert auch so weit, nur dass er Dateien, wie .avi, .zip oder .jpg irgendwie fehlerhaft abspeichert... jedenfalls lassen diese sich nicht öffnen und sind ca 4 Bytes größer als das Original. Hier der Code:
PHP:
<?

// $download sei der Bezeichner für die zu ladende Datei
// etwa:
$download = $_GET['download'];

// Passenden Datentyp erzeugen.
header("Content-Type: application/octet-stream");

// Passenden Dateinamen im Download-Requester vorgeben,
// z. B. den Original-Dateinamen
$save_as_name = basename($download);
header("Content-Disposition: attachment; filename=\"$save_as_name\"");

//Downloadstatistik erneuern
include ("db.php");
$query = "SELECT * FROM downloads WHERE url='$download'";
$result = mysql_query($query);
$data = mysql_fetch_array($result);
$number = $data[downloads];
$number++;
$query = "UPDATE downloads SET downloads='$number' WHERE id='$data[id]'";
mysql_query($query);

// Datei ausgeben.
readfile($download);

?>

Würde mich freuen wenn mir jemand helfen könnte!
MFG Benjamin
 
Mache das ganze mal testweise mit einer TXT Datei in die du irgendwas reinschreibst und die lädst du darüber runter und guckst dann was darin steht nach dem Download.
Immer 4 Byte größer oder alle Dateien 4 Byte groß?
 
ich hab das ganze nochmal mit ner text-Datei ausprobiert und es sind immer 2Byte mehr. Und zwar einfach ein Zeilenumbruch am Anfang der Datei...
 
Zurück