0

我有这样的代码

          [... page content]
          header("Content-type: application/x-download");
          header("Content-Length: ".$filesize);
          header("Content-Disposition: attachment; filename=".urlLastSeg($buttons['Torrent file(Torcache)']));
          header("Content-Transfer-Encoding: binary");
          echo $filecontent ; 

然后浏览器提示保存文件,但该文件包含页面的 html,并在末尾附加了二进制数据,而不是单独的二进制数据。

4

2 回答 2

0

为什么底部有标题?它被称为标头,因为它们位于响应之上。

让我感到震惊的是,这应该会触发文件下载。我猜你错过了显示一些代码。一个工作示例看起来像这样(仅此而已(!)):

  <?php

  $filename = '...';
  header("Content-type: application/x-download");
  header("Content-Length: ". filesize($filename));
  header("Content-Disposition: attachment; filename=". $filename;
  header("Content-Transfer-Encoding: binary");
  readfile($filename); 
于 2013-11-09T10:01:47.970 回答
0

在 PHP 中,您需要在任何其他输出之前设置标题。

于 2013-11-09T10:01:59.327 回答