string $local_file - The source file you'd like to upload. You can specify this with either an absolute path or a path relative to the scripts directory. (Beware: The script directory is determined by the called script, if you use includes!)
string $remote_file - The path (including filename) you'd like to upload to. This could either be an absolute or relative path to a file (not a directory! see: Net_FTP::putRecursive()).
bool $overwrite = false - Whether to overwrite the remote file, if it exists or not. If not set the file will not be overwritten.
[int $mode = null] - This has to be one of the constants FTP_ASCII or FTP_BINARY. If not specified, the class will try to determine the mode from the file extension (from extensions.ini) or fall back to the standard transfer mode (attribute).
Several errors may be returned by put. The errornumber is unspecific (until now) and will not tell you anything about the errormessage. Possible errors are:
Table 54-1. Possible PEAR_Error values
|Local file '$local_file' does not exist.||The local file you specified does not exist.||Correct the local file path.|
|Remote file '$remote_file' exists and may not be overwriten.||The specified remote file exists but may not be overwritten.||Maybe you don't have the permission to overwrite the file. Check the filepermissions.|
|File '$local_file' could not be uploaded to '$remote_file'.||The upload of the local file failed.||This may have several reasons: Maybe the local file does not exist or the remote directory you wanted to upload to does not exist or is not writeable.|
Example 54-1. Using put()