PearにHTTP_Download(1.1.0)と呼ばれるHTTP クライアントに 任意のデータを 送出するパッケージがあります。
Pearのマニュアルでは、次のような注意書きがあります。
注意: このパッケージと一緒に php.ini で ob_gzhandler や zlib.output_compression を有効にして使用するべきではありません。 特に、すでに gzip 圧縮されたデータ を送出する場合です。
任意のファイル、例えばbnote.zipというファイルをダウンロードさせるとします。
<?php require_once 'HTTP/Download.php'; $objDl = new HTTP_Download(); $objDl->setFile('../files/bnote.zip'); $objDl->setContentDisposition(HTTP_DOWNLOAD_ATTACHMENT, 'latest.zip'); $objDl->setContentType('application/zip'); $objDl->send(); ?>
以上でダウンロードされます。
もうひとつの方法として、明示的にインスタンスを生成しないでダウンロードさせる 方法も提供されています。
<?php $params = array( 'file' => '../files/bnote.zip', 'contenttype' => 'application/zip', 'contentdisposition' => array(HTTP_DOWNLOAD_ATTACHMENT, 'latest.zip'), ); $ret = HTTP_Download::staticSend($params); ?>
実際、staticSend関数内部では、$d = &new HTTP_Download();としてインスタンス化 されています。
Copyright 1997-2010 BBB All rights reserved.