   #PHP Manual FTP functions ftp_nb_fput ftp_nb_put

   PHP Manual
   Prev  Next
   ______________________________________________________________________

                                  ftp_nb_get

   (PHP 4 >= 4.3.0)
   ftp_nb_get -- Retrieves a file from the FTP server and writes it to a
   local file (non-blocking)

Description

   int ftp_nb_get ( resource ftp_stream, string local_file, string
   remote_file, int mode [, int resumepos])

   ftp_nb_get() retrieves remote_file from the FTP server, and saves it
   to local_file locally. The transfer mode specified must be either
   FTP_ASCII or FTP_BINARY. The difference between this function and the
   ftp_get() is that this function retrieves the file asynchronously, so
   your program can perform other operations while the file is being
   downloaded.

   Returns FTP_FAILED, FTP_FINISHED, or FTP_MOREDATA.

   Example 1. ftp_nb_get() example
   <?php
   // Initate the download
   $ret = ftp_nb_get($my_connection, "test", "README", FTP_BINARY);
   while ($ret == FTP_MOREDATA) {

      // Do whatever you want
      echo ".";
      // Continue downloading...
      $ret = ftp_nb_continue($my_connection);
   }
   if ($ret != FTP_FINISHED) {
      echo "There was an error downloading the file...";
      exit(1);
   }
   ?>

   Example 2. Resuming a download with ftp_nb_get()
   <?php
   // Initate
   $ret = ftp_nb_get($my_connection, "test", "README", FTP_BINARY,
                         filesize("test"));
   // OR: $ret = ftp_nb_get($my_connection, "test", "README",
   //                           FTP_BINARY, FTP_AUTORESUME);
   while ($ret == FTP_MOREDATA) {

      // Do whatever you want
      echo ".";
      // Continue downloading...
      $ret = ftp_nb_continue($my_connection);
   }
   if ($ret != FTP_FINISHED) {
      echo "There was an error downloading the file...";
      exit(1);
   }
   ?>

   Example 3. Resuming a download at position 100 to a new file with
   ftp_nb_get()
   <?php
   // Disable Autoseek
   ftp_set_option($my_connection, FTP_AUTOSEEK, false);
   // Initiate
   $ret = ftp_nb_get($my_connection, "newfile", "README", FTP_BINARY,
   100);
   while ($ret == FTP_MOREDATA) {
      /* ... */

      // Continue downloading...
      $ret = ftp_nb_continue($my_connection);
   }
   ?>

   In the example above, "newfile" is 100 bytes smaller than "README" on
   the FTP server because we started reading at offset 100. If we have
   not have disabled FTP_AUTOSEEK, the first 100 bytes of "newfile" will
   be '\0'.

   See also ftp_nb_fget(), ftp_nb_continue(), ftp_get(), and ftp_fget().
   ______________________________________________________________________

   Prev        Home       Next
   ftp_nb_fput  Up  ftp_nb_put
