変数内のデータをダウンロードする[Pear::HTTP_Download]
Pear の HTTP_Download では、 PostgreSQL の LOB をダウンロードさせるクラスが用意されているようですが、残念ながら MySQL は用意されていません。例えば、 MySQL の BLOB のデータをダウンロードさせるような場合、 setData 関数を使用することで BLOB 項目内のデータをダウンロードさせることが出来ます。
ここでは、 BLOB 項目のデータを$dataに取得したものとして次のように作成します。
<?php
require_once 'HTTP/Download.php';
///MySQLからBLOB項目のデータ取得($data)
$objDl = new HTTP_Download();
$objDl->setData($data);
$objDl->setLastModified(time());
$objDl->setContentDisposition(HTTP_DOWNLOAD_ATTACHMENT, 'sample.gif');
$objDl->setContentType('image/gif');
$objDl->send();
?>
setData() 関数でファイルのかわりにダウンロードさせたいデータを渡します。 後は、ファイルの時と同じです。