0
我搜索了很多,没有为我工作。问题在于文件显示在浏览器中。它包含JSON,但是是一个.locx文件(需要APP)。没有不是我的APP,所以我不能改变这一点。我已经测试了很多内容类型和编码的变体,但没有任何帮助。这是我的守则。Force with PHP下载 - 服务器配置?
<?php
function DownloadFile($file) {
if(file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
}
DownloadFile('storage/3-3-2.locx');
?>
感谢您的阅读!
// UPDATE
它在另一台服务器上,并写在注释的脚本工作得很好,但我必须在服务器配置改变,它也为我的作品?
您的代码适用于Chrome和Firefox浏览器 – oliakaoil 2014-12-04 15:04:22
您使用哪种浏览器进行测试?例如,我发现Internet Explorer缓存Content-Type标题,并且必须重新启动才能以不同方式处理内容。 – Phylogenesis 2014-12-04 15:04:26
也适用于Apache/FreeBSD,PHP 5.4。我建议可能看看你的服务器配置和MIME类型.... – 2014-12-04 15:08:44