ftp_async_put

(PHP 4 CVS only)

ftp_async_put -- Stores a file on the FTP server asynchronously

Description

bool ftp_async_put ( resource ftp_stream, string remote_file, string local_file, int mode [, int startpos])

ftp_async_put() stores local_file on the FTP server, as remote_file. The transfer mode specified must be either FTP_ASCII or FTP_BINARY. The difference between this function and the ftp_put() is that this function uploads the file asynchronously, so your program can perform other operations while the file is being downloaded.

Returns TRUE on success or FALSE on error.

Example 1. ftp_async_put() example

// Initiate the Upload
$ret = ftp_async_put($my_connection, "test.remote", "test.local", FTP_BINARY);
while ($ret == FTP_MOREDATA) {
   
   // Do whatever you want
   echo ".";

   // Continue uploading...
   $ret = ftp_async_continue ($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "There was an error uploading the file...";
   exit(1);
}

Example 2. Resuming an upload with ftp_async_put()

// Initiate
$ret = ftp_async_put ($my_connection, "test.remote", "test.local", 
                      FTP_BINARY, ftp_size("test.remote"));
// OR: $ret = ftp_async_put ($my_connection, "test.remote", "test.local", 
//                           FTP_BINARY, FTP_AUTORESUME);

while ($ret == FTP_MOREDATA) {
   
   // Do whatever you want
   echo ".";

   // Continue uploading...
   $ret = ftp_async_continue ($my_connection);
}
if ($ret != FTP_FINISHED) {
   echo "There was an error uploading the file...";
   exit(1);
}

See also ftp_async_fput(), ftp_async_continue(), ftp_put() and ftp_fput().