我有一段代码允许用户从服务器下载文件(文档,如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);
答案 0 :(得分:1)
你有没有试过这个?
<?php
header("Content-type: application/vnd.ms-word");
header("Content-Disposition: attachment; Filename=SaveAsWordDoc.doc");
?>
答案 1 :(得分:1)
我找到了问题的根源,我在php close标签后有一些额外的空格。谢谢你们。