我有一个脚本,它接收一个加密的 url 并从中生成一个下载,脚本中最关键的部分是这样的:
$MimeType = new MimeType();
$mimetype = $MimeType->getType($filename);
$basename = basename($filename);
header("Content-type: $mimetype");
header("Content-Disposition: attachment; filename=\"$basename\"");
header('Content-Length: '. filesize($filename));
if ( @readfile($filename)===false ) {
header("HTTP/1.0 500 Internal Server Error");
loadErrorPage('500');
}
下载在除 IE 之外的任何浏览器中都具有魅力,我已经看到与“无缓存”标头相关的问题,但我没有发送类似的内容,他们谈论的是 utf-8 字符,但没有任何utf-8 characters
(和 $filename也没有任何 utf-8 字符)。