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
'writefailed' - if writing to disk fails, this callback is called with
the URL to download
directory to save file in
function/method to call for status updates
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().
Table 32-1. Possible PEAR_Error values
|Error code||Error value||Meaning||Solution|