PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

導入 | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

導入

導入 – HTTP_Download の使用方法

導入

HTTP_Download は HTTP クライアントに 任意のデータを簡単に送出するためのインターフェースを提供します。 HTTP_Download はそれらのデータを変数、 ファイルあるいはストリームリソースから取得することができます。

このパッケージを使用することで、 (隠された)ダウンロードを簡単にハンドリングする事ができます。 「隠された」とは、誰もアクセスできない、という意味です。 たとえば、特別なダウンロードするものを制限したい場合です。 これは、HTTP 圧縮、キャッシング、そして部分的なダウンロード、 レジューム、そして、たとえばデータベースの BLOB からの生データの送信をサポートします。

注意: このパッケージと一緒に php.ini で ob_gzhandler や zlib.output_compression を有効にして使用するべきではありません。 特に、すでに gzip 圧縮されたデータを送出する場合です。

使用例:

以下の例を見てください:

静的な送出:

<?php
1  $params 
= array(
2   'file'                => '../hidden/download.tgz',
3   'contenttype'         => 'application/x-gzip',
4   'contentdisposition'  => array(HTTP_DOWNLOAD_ATTACHMENT'latest.tgz'),
5  );
6
7  $error 
HTTP_Download::staticSend($paramsfalse);
?>

隠されたファイルの送出:

<?php
1  $dl 
= &new HTTP_Download();
2  $dl->setFile('../hidden/download.tgz');
3  $dl->setContentDisposition(HTTP_DOWNLOAD_ATTACHMENT'latest.tgz');
4  // with ext/magic.mime
5  // $dl->guessContentType();
6  // else:
7  $dl->setContentType('application/x-gzip');
8  $dl->send();
?>

任意データの送出:

<?php
1  $dl 
= &new HTTP_Download();
2  $dl->setData($data);
3  $dl->setLastModified($unix_timestamp);
4  $dl->setContentType('application/x-gzip');
5  $dl->setContentDisposition(HTTP_DOWNLOAD_ATTACHMENT'latest.tgz');
6  $dl->send();
?>

帯域幅の制限:

<?php
1  $dl 
= &new HTTP_Download();
2  $dl->setFile('huge_file.bin');
3  $dl->setBufferSize(25 1024); // 25 K
4  $dl->setThrottleDelay(1);   // 1 sec
5  $dl->send();
?>

PostgreSQL LOB の送出:

<?php
1  
require_once 'HTTP/Download.php';
2  require_once 'HTTP/Download/PgLOB.php';
3  $dl = &new HTTP_Download();
4  $dl->setResource(
5    HTTP_Download_PgLOB::open(pg_connect('dbname=lobs'), 12345));
6  $dl->send();
?>
忘却曲線を使ってこの知識を確実に記憶に残す

フォーラムで「導入」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | 導入」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: