string PEAR_Common::downloadHttp (
string $url
, object &$ui
, string $save_dir = '.'
, mixed $callback
= null
)
Download a file through HTTP. Considers suggested file name in Content-disposition: header and can run a callback function for different events. The callback will be called with two parameters: the callback type, and parameters. The implemented callback types are:
'setup' -
called at the very beginning, parameter is a
UI object that should be used for all output
'message' -
the parameter is a string with an informational message
'saveas' -
may be used to save with a different file name, the
parameter is the filename that is about to be used.
If a 'saveas' callback
returns a non-empty string, that file name will be
used as the filename instead.
Note that $save_dir will not
be affected by this, only the basename of the file.
'start' -
download is starting, parameter is number of bytes
that are expected, or -1 if unknown
'bytesread' -
parameter is the number of bytes read so far
'done' - download is
complete, parameter is the total number
of bytes read
'connfailed' -
if the TCP connection fails, this callback is called
with
<?php
array(host,port,errno,errmsg)
?>
'writefailed' -
if writing to disk fails, this callback is called
with
<?php
array(destfile,errmsg)
?>
If an HTTP proxy has been configured
(http_proxy PEAR_Config setting),
the proxy will be used.
$url
the URL to download
&$ui
PEAR_Frontend_* instance
$save_dir
directory to save file in
$callback
function/method to call for status updates
$config
PEAR_Config instance
string -
Returns the full path of the downloaded file or a
PEAR error on failure. If the error is caused by
socket-related errors, the error object will
have the fsockopen error code available through
getCode().
| Error code | Error value | Meaning | Solution |
|---|---|---|---|
| " |
This function can not be called statically.