通过php头文件下载时文件损坏

通过php头文件下载时文件损坏,php,Php,我的网站上有一个下载链接,我们可以从那里下载附件。pdf文件下载完美,但图像、文档和zip文件下载时已损坏 下面是我用来下载的代码。代码在我的本地pc上运行正常,但在服务器上运行不正常 header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename='.basename(

我的网站上有一个下载链接,我们可以从那里下载附件。pdf文件下载完美,但图像、文档和zip文件下载时已损坏

下面是我用来下载的代码。代码在我的本地pc上运行正常,但在服务器上运行不正常

header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($FilePath));
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($FilePath));
readfile($FilePath);
exit;

如果您的php脚本在您的头之前回显任何内容,就会发生损坏


请尝试使用相同的代码,但使用一个单独的php脚本。

如果您的php脚本在标题之前回显任何内容,则会发生损坏

尝试使用相同的代码,但使用单独的php脚本。

尝试添加

header('Content-Transfer-Encoding: binary');
尝试添加

header('Content-Transfer-Encoding: binary');

您尝试过不同的内容类型吗?虽然PDF可以理解为应用程序/八位字节流,但图像、文档和存档可能不是。但在我的本地pc中,所有文件扩展名都使用相同的代码。幽默,请尝试其他内容类型您尝试过不同的内容类型吗?虽然PDF可以理解为应用程序/八位字节流,但图像、文档和存档可能不是。但在我的本地pc中,所有文件扩展名都使用相同的代码。请尝试其他内容类型