【PHP】指定したファイルをユーザーにダウンロードさせる方法
公開日:
更新日:
カテゴリー: PHP
アクセスしてきたユーザーに指定したファイルをダウンロードさせる方法を説明しています。
指定したファイルをユーザーにダウンロードさせる
指定したファイルをユーザーにダウンロードさせたい場合、そのファイルのURLをハイパーリンクで提示し、ユーザーに「右クリック→リンク先を保存」してもらえればダウンロードさせることが可能です。
しかし、慣れていないユーザー(右クリックから対象ファイルを保存できることを知らないユーザーなど)にとっては不便ですし、そもそもその手順をユーザー側に強いるのはスマートではない気がします。
ヘッダー情報のコンテンツタイプに「application/force-download」を設定
この場合、以下を記述したダウンロード用PHPファイルを作成し、そのファイル(ページ)にユーザーをアクセスさせれば自動的にファイルをダウンロードさせることが可能です。
<?php //ダウンロードさせたいファイルのパス(サーバー内のファイルまでのパス or Web上のURL) $file_path = ""; //ダウンロードさせたときのファイル名の指定 $file_name = ""; //***拡張子を忘れないこと!*** //ヘッダーの設定 header('Content-Type: application/force-download'); header('Content-Length: ' . filesize($file_path)); //***ダウンロードさせたいファイルがWeb上のファイルであればここをコメントアウト*** header('Content-disposition: attachment; filename="' . $file_name . '"'); //ファイルの読み込み(出力) readfile($file_path); ?>
ポイントはヘッダー情報のコンテンツタイプに「application/force-download」を設定することです。
なお、filesize関数はWeb上のファイルのサイズは取得できないので、もしもWeb上のファイルをダウンロードさせたい場合、11行目はコメントアウトしてください(11行目はなくても可)。
あわせて読んでほしい!
コメント
まだコメントはありません。
コメントフォーム