【发布时间】:2010-08-04 08:26:34
【问题描述】:
我在服务器上有一个 tar 存档,必须可以通过 php 下载。这是我使用的代码:
$content=file_get_contents($tar);
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=$tar");
header("Content-Length: ".strlen($content));
unlink($name);
die($content);
文件已下载,但已损坏且无法打开。我认为标头有问题,因为服务器上的文件可以毫无问题地打开。你知道我该如何解决这个问题吗?
更新 我尝试打印这样的 iframe:
<iframe src="<?php echo $tar?>"></iframe>
并且下载工作正常,所以我确定标题中缺少某些内容。
【问题讨论】:
-
使用filesize函数不是更好吗?
-
同样的事情,但我必须使用 die
-
您是否可能超过了 max_execution_time、post_max_size 或 upload_max_filesize?
-
不,我看不到任何错误
-
在标准文本编辑器中检查下载的文件,查看文件内容中是否有任何 PHP 错误消息(例如,标头已发送)