我有一個腳本,需要從$ _GET ['key']鍵,查找數據庫中的位置,並使用讀取文件和一些標題一起呈現下載使用。這適用於Firefox,但不適用於IE8,無法在另一個IE上測試。在IE中出現以下錯誤:「Internet Explorer無法從www.example.com下載download.php」。就好像它試圖下載PHP腳本一樣。PHP腳本下載在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);
看看SQL注入和mysql_real_escape_string。這段代碼很脆弱。 – erenon 2009-08-02 13:46:43
Oh lord yes請使用mysql_real_escape_string – AaronLS 2009-08-02 13:47:59
對此不太瞭解,但它可能與$ file中的文件擴展名有關 – AaronLS 2009-08-02 13:50:27