【问题标题】:PHP IIS problems downloading file says it is corruptPHP IIS问题下载文件说它已损坏
【发布时间】:2010-04-22 11:26:46
【问题描述】:

我正在使用 mssql 在 IIS 6 上运行 PHP。我已通过 php 脚本将文件上传到我的网络服务器。检查服务器上的文件后,文件正常且未损坏。但是,当我在我的网站上有一个尝试下载文件的链接时,它说文件已损坏。

我知道文件没有损坏,因为如果我查看服务器上的文件,我可以完美地查看它。

这似乎是一个常见问题,因为此处发布了类似问题:

http://www.bigresource.com/Tracker/Track-php-1pAakBhT/

任何帮助将不胜感激。

谢谢,

M

我的下载代码如下:

$filesize = $rows->filesize;
$filepath = $rows->filepath;

header("Content-Disposition: attachment; filename=$filename");
header("Content-length: $filesize");
header("Content-type: application/pdf");
header("Cache-control: must-revalidate");
header("Content-Description: PHP Generated Data");

readfile($filepath);

FIXED:“只要确保您在之前和/或之后没有空格或新闻行”

【问题讨论】:

  • 除非您希望我们使用我们的水晶球,否则请向我们展示脚本的相关部分。
  • 您是否使用 PHP 脚本下载文件?因为如果它是一个脚本,您可能想要检查该脚本是否有错误,并且(如果它是一个 IE 唯一的问题)如果您提供 Cache-Control 标头。

标签: php iis download corruption


【解决方案1】:

我敢打赌*啤酒**有 PHP 错误消息破坏了原本可以下载的文件。

使用记事本查看下载文件的源代码。

* 奖品只能在德国科隆兑换。必须年满 18 岁才能参加。

** 1 Kölsch 按本地平均费率计算。

【讨论】:

  • 噢——如果是 IE 问题,那么您需要付费!
  • @zaf:但或多或少有一个 Kölsch ......这被认为是生活在科隆的人的“通常的蒸发效应”;-)
  • @Volker 你真正了解这座城市的灵魂。 :)
【解决方案2】:

如果你用 IE 下载 PDF,你可以试试:

header("Cache-Control: private");
header("Content-Transfer-Encoding: binary");

这对我们有用:p。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-16
    • 1970-01-01
    • 2014-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多