2009-08-09 5 views
0

[QUOTE = php_lover; 4343082] Hallo, habe ich ein Stück Code writen Datei aus mysql herunterladen, hier ist der Code:Probleme in Download-Fenster

PHP-Code:

$query = "SELECT name, type, size, content ,downloaded FROM ".filtering($cat , 'str')." WHERE id = '".filtering($id , 'int')."'"; 

$result = mysqlquery($query) or die('Error, query failed !!!'); 
list($name, $type, $size, $content, $downloaded) = mysql_fetch_array($result); 

header("Content-length: $size"); 
header("Content-type: $type"); 
header("Content-Disposition: attachment; filename=$name"); 

echo $content; 
exit; 
} 

nichts ist fehlgeschlagen, wenn ich dieses Skript auf meinem lokalen Rechner ausprobiere, erscheint mir das Downloadfenster, in dem ich die Datei herunterladen soll, aber wenn ich es auf meinem Server versuche, wird das Downloadfenster nicht angezeigt und der Inhalt der Datei wird im Browser

angezeigt

zum Beispiel, wenn ich .rar Datei herunterladen möchte diese Codes erscheinen ex Änderung des Herunterladens Fenster:

EVئ€#% ئ€"% èï‹ ‹}3غYئD0 C‹uhSC Vèڈ …ہYY…¢ 9E„=‏ےے…ےj^‰uüŒQ‏ےےےujXè(üےے…ہY…=‏ےے…ےtےu3ہےuèûےےYYé%‏ےے‹Mٹ‹ٌë<:tFٹ„ہuُ€> „µ ‹ئ+ء= r¸ے P‹Eےu¬ Pèظ‹ ‹EFVئ€« è›چ ‹M‹uƒؤ‰پ¬ hSC Vè^ژ …ہYY…ئ 9E„†‎ےے…ےj[‰]üŒ‎ےےVjXèsûےے…ہY…‎ےے…ے…† hSC ے 

Antwort

1

Verwenden Sie die Content-Type value application/octet-stream um den Download zu erzwingen:

Die Empfehlung für eine Implementierung, die eine „application/octet-stream“ Einheit empfängt, ist einfach anbieten zu setzen Die Daten in einer Datei, mit jedem Content-Transfer-Encoding rückgängig gemacht, oder vielleicht verwenden Sie es als Eingabe für einen benutzerdefinierten Prozess.