我正在使用一些遗留的 PHP 代码,并且遇到了 Word Doc (docx) 和 Spreadsheet (xlsx) 损坏。
这是 download.php 文件中的当前代码:
$new_file_name = stripMySlashes($filename);
header("Content-disposition: attachment;filename=$new_file_name");
header("Content-type: application/octetstream");
header("Pragma: no-cache");
header("Expires: 0");
$client=getenv("HTTP_USER_AGENT");
$fp=fopen('uploaded_files/'.$folder.'/'.$filename,"r");
$str=fread($fp,filesize('uploaded_files/'.$folder.'/'.$filename));
echo $str;
fclose($fp);
例如,如何避免在 case 语句中检查一堆文件类型?我试过这样的代码没有运气
$file="test.docx";
header("Pragma: public");
header('Content-disposition: attachment; filename='.$file);
header("Content-type: ".mime_content_type($file));
header('Content-Transfer-Encoding: binary');
ob_clean();
flush();
readfile($file);
非常感谢任何帮助。谢谢