如何使用PHP強製文件下載

當你想到它時, 網絡瀏覽器是複雜編程的驚人壯舉。 它們是我們日常生活中的一部分工具 - 用於檢查朋友和家人的狀態,與那些人交流,購物,觀看視頻,照顧我們的金融生活等等更多。 正如瀏覽器在我們生活中的流行一樣,現實是大多數人不明白它們的真正用處。

幕後

瀏覽器在幕後執行的一件事是嘗試在瀏覽會話期間完成一個人所做的所有點擊操作。 這意味著越來越多的文件類型可以直接在Web瀏覽器中打開以供查看。

大多數情況下,這是一件好事,因為單擊您想要閱讀的文檔的鏈接可能會非常令人沮喪,然後必須等待它下載並最終在您的計算機上打開。 當您等待下載時,這種沮喪達到了下一個級別,只是發現您沒有正確的程序來打開文檔。 現在,這種情況很少發生,因為瀏覽器確實直接顯示文檔。 例如,PDF文件默認不會下載。 相反,它們直接顯示在Web瀏覽器中,類似於網頁的顯示方式。

如果你有一個你希望人們下載的文件,而不是直接在網頁瀏覽器中查看它?

如果它是一個HTML文件或一個PDF ,你不能只發布一個鏈接到該文件,因為(正如我們剛剛所述),一個網絡瀏覽器會自動打開這些文件,並以內聯方式顯示它們。 為了將這些文件下載到個人的計算機上,您需要使用PHP來做一些欺騙手段。

PHP允許您更改正在編寫的文件的HTTP標頭。

這個過程使得你可以強制下載文件,通常瀏覽器會在同一個窗口中加載。 對於希望客戶下載而不是直接從瀏覽器在線使用的PDF,文檔文件,圖像和視頻文件,這非常適用。

您需要在託管文件的Web服務器上安裝PHP,要下載的文件以及相關文件的MIME類型

這個怎麼做

  1. 上傳您想要下載到您的Web服務器的文件。 例如,假設您有一個PDF文件,您希望人們在點擊鏈接時下載它。 您將首先將該文件上傳到您網站的託管環境。
    huge_document.pdf
  2. 在您的網頁編輯器中編輯一個新的PHP文件 - 為了便於使用,我們建議將它命名為與下載文件相同的名稱,只能使用擴展名.php。 例如:
    huge_document.php
  3. 在文檔中打開PHP塊:
    <?PHP
  4. 在下一行中,設置HTTP標頭:
    標題(“Content-disposition:attachment; filename = huge_document.pdf”);
  5. 然後設置文件的MIME類型:
    標題(“Content-type:application / pdf”);
  6. 指向您要下載的文件:
    ReadFile的(“huge_document.pdf”);
  7. 然後關閉PHP塊並保存文件:
    ?>
  1. 你的PHP文件應該是這樣的:
    <?PHP
    標題(“Content-disposition:attachment; filename = huge_document.pdf”);
    標題(“Content-type:application / pdf”);
    ReadFile的(“huge_document.pdf”);
    ?>
  2. 鏈接到您的PHP文件作為網頁的下載鏈接。 例如:
    下載我的巨大文檔(PDF)

文件中的任何位置不得有空格或回車符 (分號後除外)。 空白行會導致PHP默認為MIME類型text / html,並且您的文件不會下載。