我正在尝试使用PHP下载文件。现在文件已下载,但未获得原始格式(缺少扩展名)。我可以使用原始文件扩展名重命名后使用下载的文件。我使用以下代码
header("Expires: 0");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Content-type: application/".$result['ext']);
header('Content-length: '.filesize($file));
header('Content-disposition: attachment; filename='.$result['file_name']);
readfile($file);
exit;
其中
$result['ext']="rar",
$file="file path to the uploaded folder".
答案 0 :(得分:2)
我非常确定您必须在文件名中将扩展程序作为Content-disposition
标题的一部分发送到浏览器。
对于您的代码,您必须更改此内容:
header('Content-disposition: attachment; filename='.$result['file_name']);
为:
$filename = $result['file_name'] . '.' . $result['ext'];
header('Content-disposition: attachment; filename=' . $filename);