【发布时间】:2012-03-30 14:24:58
【问题描述】:
我的站点中有一个文件下载代码,在我更改域之前它运行良好。 我检查了所有链接并更改了所有内容,它们可以正常工作FINE 然而由于某种原因,下载的文件已损坏,我不知道为什么。
代码:
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.$fileName.'"');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file_url));
readfile($file_url);
exit;
$FileName 具有名称 + 扩展名。 $file_url 工作很好。如果我回显 url 并尝试浏览它,我会看到该文件。
有人帮忙吗?
编辑: 我注意到浏览器说:资源解释为文档,但使用 MIME 类型图像/png 传输
【问题讨论】:
-
你用参数和东西调用你的 PHP 文件吗?
-
是的,我使用 GET,但这段代码运行了大约一周...我尝试将标题放在顶部...
-
查看文件内部(十六进制编辑器或其他):是否有例如 php 错误/警告?
-
正在下载的文件的实际 MIME 类型是什么?通常将此指定为 Content-Type,而不是八位字节流,因为 Content-Disposition 标头是控制下载的内容。
-
@KingCrunch 这不是针对特定文件,我使用此代码下载许多文件,并且所有文件都会发生这种情况。
标签: php file download corruption