如何在 PHP 中強制下載檔案而不重定向到瀏覽器?

DDD
發布: 2024-10-20 20:02:30
原創
938 人瀏覽過

How to Force File Downloads in PHP Without Redirecting to the Browser?

用PHP 產生下載連結

簡介

為使用者提供下載檔案的能力是web 中的一個常見功能應用程式.本文將指導您建立圖像下載連結並防止導航到瀏覽器。

解決方案

要強制下載文件,您可以使用以下程式碼:

<code class="php"><?php
    // File path on disk
    $filePath = '/path/to/file/on/disk.jpg';

    // Check if file exists
    if(file_exists($filePath)) {
        $fileName = basename($filePath);
        $fileSize = filesize($filePath);

        // Output headers
        header("Cache-Control: private");
        header("Content-Type: application/stream");
        header("Content-Length: ".$fileSize);
        header("Content-Disposition: attachment; filename=".$fileName);
        
        // Output file
        readfile ($filePath);
        exit();
    } else {
        die('Invalid file path');
    }
?></code>
登入後複製

透過在PHP 頁面開頭使用此程式碼片段,用戶將能夠透過點擊普通連結來下載檔案。

安全注意事項

建立下載任意檔案的函數時,防止惡意輸入至關重要。採用realpath等措施防止目錄遍歷,限制下載到預定位置,維護網站安全。

以上是如何在 PHP 中強制下載檔案而不重定向到瀏覽器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!