トップページ >  PHP >  ファイルダウンロード
初版2008/11/20: 最終更新日2008/11/20
ファイルダウンロード
目次
ファイルダウンロード
サンプルコード
サンプル
ファイルダウンロード
ファイルダウンロードを行うには、まずダウンロードするファイルを読み込みます。
その後、ファイル名を指定してHTTPヘッダを送信します。
HTTPヘッダ送信時、ファイルの種類によって「Content-Type」が変わります。

主な「Content-Type」一覧
ファイル形式 Content-Type
HTML text/html
PLAIN テキスト text/plain
CSS text/css
JPEG image/jpeg
GIF image/gif
PDF application/pdf
tar application/x-tar
zip application/zip
CSV application/x-csv
Excel application/vnd.ms-excel
powerpoint application/vnd.ms-powerpoint

また、ファイルサイズが大きいとブラウザ側でタイムアウトしてしまう可能性があるので注意が必要です。

以下が簡単なサンプルになります。

サンプルコード
(php部 :download.php )
<?php
// ダウンロード元ファイルを指定します。ファイルパス(絶対パス、ファイル名まで含む)を指定します。
$fullpath = 'path/Sunset.jpg';
// 保存時のファイル名を設定します。
$filename = 'Download_Sunset.jpg';

// HTTPヘッダ送信
header("Content-type: image/jpeg");
header("Content-Disposition: attachment; filename=$filename");
// ファイルを読み込んで出力します。
readfile($fullpath);
?>
(html部 : download.html )
<form method="post" action="download.php">
	<input type="submit" value="ダウンロード">
</form>
サンプル

「ダウンロード」ボタンを押すと、ファイルダウンロードを行います。