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.