PHPでファイルダウンロード

PHPのheader関数で,httpヘッダーのContent-Disposition attachmentを書き出して,クライアントにファイルをダウンロードさせることができる.

header("Content-type: image/jpeg");
header("Content-Disposition: attachment; filename=hoge.jpg");
header("Content-length: " . filesize("./test.jpg"));
readfile("./test.jpg");
  • hoge.jpgはダウンロードする際,クライアント側に保存されるデフォルトのファイル名。
  • ./test.jpgはダウンロードするサーバ上のファイル名。

ただし,php.iniにあるoutput_bufferingがOFFだと,バイナリがブラウザーに書き出されてしまうので,以下のようにする.

output_buffering = 4096
;output_buffering = Off
 
blog/phpでファイルダウンロード.txt · 最終更新: 2008/09/12 09:53 by kuha     文書の先頭へ