2013-11-09 99 views
0

我有這樣的代碼PHP下載文件頭回聲

  [... 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。

回答

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); 
+0

好吧,我想顯示一些頁面,然後將文件推送給用戶。如果標題處於開頭,用戶在點擊下載鏈接後會看到空白的白色屏幕? – kurdt

+0

點擊下載鏈接後,您需要了解[http](http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol) – hek2mgl

+0

,它會加載包含信息的新頁面'下載將立即開始',然後會出現瀏覽器'下載提示'給用戶。 – kurdt

0

在PHP中,你需要任何其他輸出前將報頭。

+0

你確定嗎?緩衝區操作呢? – kurdt

+0

如果你正在使用緩衝區,那麼在所有其他地方之前都會發送標題。 –