PHP - 下载文件的正确标题是什么?

时间:2011-12-15 07:41:04

标签: php header download

我有一段代码允许用户从服务器下载文件(文档,如docs,docx,pdf等)。

用户可以下载文件,但它有一些错误,例如文件被破坏。例如,下载后的MS Word文件需要恢复才能读取内容。

我想知道如果此代码中有任何错误(或上传时出现问题?)。

$size_of_file = filesize($download_path);
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . $file_name);
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: ' . $size_of_file);
//read file from physical path
readfile($download_path);

enter image description here

2 个答案:

答案 0 :(得分:1)

你有没有试过这个?

<?php
    header("Content-type: application/vnd.ms-word");
    header("Content-Disposition: attachment; Filename=SaveAsWordDoc.doc");
?>

答案 1 :(得分:1)

我找到了问题的根源,我在php close标签后有一些额外的空格。谢谢你们。