PEAR_Common::downloadHttp
PEAR_Common::downloadHttp() – ファイルを HTTP 経由でダウンロードする
Synopsis
require_once 'PEAR/common.php';
string PEAR_Common::downloadHttp (
string $url
, object &$ui
, string $save_dir = '.'
, mixed $callback
= = null
)
Description
ファイルを HTTP 経由でダウンロードします。
推奨するファイル名を Content-disposition: ヘッダで指定し、
さまざまなイベントに対応するコールバック関数を実行できるよう考慮します。
コールバック関数には、コールバックの型およびパラメータの
2 つのパラメータが渡されます。次の型のコールバックが実装されています。
-
'setup'
-
いちばん最初にコールされます。
すべての出力に使用する UI オブジェクトをパラメータに指定します。
-
'message'
-
情報メッセージを含む文字列をパラメータに指定します。
-
'saveas'
-
異なるファイル名で保存する際に使用されます。
用いようとしているファイル名をパラメータに指定します。
'saveas'
コールバックが空ではない文字列を返した場合、
その結果がファイル名として使用されます。
$save_dir
はこれとは関係なく、
あくまでもファイルの名前だけが影響を受けることに注意しましょう。
-
'start'
-
ダウンロードが始まります。パラメータにはファイルの総バイト数を指定します。
わからない場合は -1 となります。
-
'bytesread'
-
パラメータにはこれまでに読み込んだバイト数を指定します。
-
'done'
-
ダウンロードが完了しました。パラメータには読み込んだ総バイト数を指定します。
-
'connfailed'
-
TCP 接続に失敗した場合に、このコールバックが
<?php
array(host,port,errno,errmsg)
?>
を指定してコールされます。
-
'writefailed'
-
ディスクへの書き込みに失敗した場合に、このコールバックが
<?php
array(destfile,errmsg)
?>
を指定してコールされます。
HTTP プロキシが設定されている場合は
(PEAR_Config の設定項目
http_proxy
で)、
プロキシが使用されます。
Parameter
-
string
$url
-
ダウンロードする URL。
-
object
&$ui
-
PEAR_Frontend_* のインスタンス。
-
string
$save_dir
-
ファイルを保存するディレクトリ。
-
mixed
$callback
-
状態が更新された際にコールする関数/メソッド。
-
object
$config
-
PEAR_Config のインスタンス。
Return value
string
-
ダウンロードされたファイルのフルパス、あるいは失敗した場合に PEAR error を返します。
ソケットに関連するエラーの場合、エラーオブジェクトには fsockopen
のエラーコードが記録されます。これは
getCode() で取得することができます。
Throws
Possible PEAR_Error values
エラーコード |
エラーの値 |
意味 |
対応 |
|
" |
|
|
Note
This function can not be called
statically.