Webtech Walker

PHPで出力ファイルをダウンロード形式にする

ブラウザで開くんじゃなくてファイルとしてダウンロードしたい場合のはなし。

PHPの出力をダウンロード形式にするにはheader()でContent-Typeを指定してreadfile()で出力します。コードは下記のような感じ。

$file = "test.txt";
header("Content-type: text/plain");
header("Content-Disposition: attachment; filename=$file");
readfile($file);

このコードを実行すると「ダウンロードしますか?」のダイアログが開きます。この例ではテキストファイルなのでContent-Typeは「text/plain」になっていますが、ファイルの種類によってContent-Typeは様々です。

このエントリーをはてなブックマークに追加