ブラウザにリダイレクトせずに PHP でファイルを強制的にダウンロードするにはどうすればよいですか?

DDD
リリース: 2024-10-20 20:02:30
オリジナル
940 人が閲覧しました

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 ページの先頭でこのコード スニペットを使用すると、ユーザーは通常のリンクをクリックしてファイルをダウンロードできるようになります。

セキュリティに関する考慮事項

任意のファイルをダウンロードする関数を作成する場合、悪意のある入力から保護することが重要です。リアルパスなどの対策を採用して、ディレクトリのトラバーサルを防止し、ダウンロードを所定の場所に制限して、Web サイトのセキュリティを維持します。

以上がブラウザにリダイレクトせずに PHP でファイルを強制的にダウンロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!