Ich habe ein Skript, das einen Schlüssel aus $ _GET ['key'], sucht den Speicherort in einer Datenbank und verwendet die Readfile zusammen mit einigen Überschriften, um einen Download für die benutzen. Dies funktioniert in Firefox aber nicht IE8, war nicht in der Lage, es auf einem anderen IE zu testen. Ich bekomme den folgenden Fehler im IE: "Internet Explorer kann download.php nicht von www.example.com herunterladen". Als ob es versucht, das PHP-Skript herunterzuladen.PHP Skript zum Download Datei funktioniert nicht in IE
$the_query = "SELECT * FROM `files` WHERE `user_id`=" . $_SESSION['user_id'] . " AND `key`='" . $key . "'";
$result = mysql_query($the_query);
$row = mysql_fetch_array($result);
$file = '/var/www/vhosts/www.example.com/httpsdocs/uploads/' . $row['id'] . '/' . $row['file'];
header("Content-type: application/octet-stream");
header("Content-length: ".filesize($file));
header('Content-Description: File Transfer');
header("Cache-control: private");
header('Content-Disposition: attachment; filename=' . rawurlencode(basename($file)));
readfile($file);
werfen Sie einen Blick auf SQL-Injektion und mysql_real_escape_string. Dieser Code ist anfällig. – erenon
Oh mein Gott ja bitte benutze mysql_real_escape_string – AaronLS
Ich weiß nicht viel darüber, aber es kann etwas mit der Dateierweiterung in $ file zu tun haben – AaronLS