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
array(host,port,errno,errmsg) |
'writefailed' - if writing to disk fails, this callback is called with
array(destfile,errmsg) |
the URL to download
PEAR_Frontend_* instance
directory to save file in
function/method to call for status updates
PEAR_Config instance