PEAR::HTTP_Download がなかなか良い
WEBアプリでファイルのダウンロード機能を持たせたいときに、MIMEヘッダをブラウザ毎に調べて微調整するのが非常に面倒くさい。
ブラウザ毎の違いで実装を微調整するのは技術的にあまり面白く無い。でもこの退屈な作業はライブラリが吸収してくれないかなと思って探したら、いいのがあったのでメモ。
- インストール
# pear install --alldeps HTTP_Download
- 使い方
email ファイルのダウンロードならこんな感じ
require_once("HTTP/Download.php"); $params = array( "data" => $data "contenttype" => "message/rfc822", "contentdisposition" => array(HTTP_DOWNLOAD_ATTACHMENT, "12345.eml") ); $download = new HTTP_Download($params); $download -> send();
- オプション一覧
オプション | 説明 | |
file | ファイルパスを指定 | |
data | 生データを指定 | |
resource | リソースハンドルを指定 | |
gzip | gzip ダウンロードを行うかどうかを指定 | |
cache | ダウンロードするものをクライアント側に キャッシュさせるかどうかを指定 | |
lastmodified | 最終更新日時の UNIX タイムスタンプを指定 | |
contenttype | Content-type を指定 | |
contentdisposition | Content-disposition を指定 | |
buffersize | ファイルやリソースから 一度に読み込むバイト数を指定 | |
throttledelay | 各チャンク送出後の停止秒数を指定 | |
cachecontrol | キャッシュのプライバシーと妥当性を指定 |
参考URL: Manual :: HTTP_Download