WEBシステム開発・デザイン制作などすべての作業を一貫してご提供しております。(大阪・東京近辺)

PHP/Pear/HTTP_Downloadを使って、CSVなどをダウンロード対応する

PHPを使ってファイルのダウンロード機能を実装する方法として、直接

header(‘Content-Type: mime_type);
echo $file_data;

されている方がほとんどだと思われます。
各ブラウザーへの対応、mime_type、分割ダウンロードなどいろいろと対応させようと思えば
pearの「HTTP_Download」を使用されるのが一番だと思います。

HTTP_Downloadのインストール
pear install
pear install MIME_Type
pear install HTTP
pear install HTTP_Download

使い方 — HTTP_Download の使用方法
HTTP_Download::HTTP_Download() — コンストラクタ
HTTP_Download::setParams() — 様々なパラメータをセットする
HTTP_Download::setFile() — ファイルパスをセットする
HTTP_Download::setData() — 生データをセットする
HTTP_Download::setResource() — ダウンロードのためのリソースをセットする
HTTP_Download::setGzip() — オンザフライで gzip 圧縮するかどうか (ext/zlib が必要)
HTTP_Download::setCache() — クライアント側でダウンロードしたものをキャッシュさせるかどうか
HTTP_Download::setCacheControl() — キャッシュのプライバシーと妥当性を制御する
HTTP_Download::setBufferSize() — バッファサイズをバイト数でセットする
HTTP_Download::setThrottleDelay() — スロットル遅延を秒でセットする
HTTP_Download::setContentType() — Content-type をセットする
HTTP_Download::setLastModified() — “Last-Modified” をセットします
HTTP_Download::setContentDisposition() — Content-disposition をセットする
HTTP_Download::guessContentType() — ファイルの Content-type を推測する
HTTP_Download::send() — ファイルを送出する
HTTP_Download::staticSend() — スタティックな送出
HTTP_Download::sendArchive() — オンザフライで生成されたアーカイブを送出する