[QUOTE = php_lover; 4343082]大家好,我从mysql写了一段代码下载文件,这里是代码:
php代码:
$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;
}
没有什么是失败的,当我在我的本地机器上尝试这个脚本时,下载窗口出现在我下载文件的位置,但是当我在服务器上尝试时,下载窗口将不会出现,文件的内容是显示在浏览器上
例如当我想下载.rar文件时这些代码出现下载窗口的交换: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 ے
答案 0 :(得分:1)
使用Content-Type
value application/octet-stream
强行下载:
接收的实现的建议操作 “application / octet-stream”实体只是简单地提供放置数据 在一个文件中,任何Content-Transfer-Encoding撤消,或者也许 用它作为用户指定过程的输入。