Stefan, we also need in what PHP release these constants / new parameters will be available ? If this is known, I can add these to the docs.
Goba ----- Original Message ----- From: <[EMAIL PROTECTED]> To: "PHP Documentation List" <[EMAIL PROTECTED]> Sent: Saturday, July 27, 2002 11:22 AM Subject: [PHP-DOC] [PHP-DEV] New FTP extension functionality (fwd) > Forwarding to the doc people... > > ---------- Forwarded message ---------- > Date: Sat, 27 Jul 2002 08:52:46 +0200 > From: Stefan Esser <[EMAIL PROTECTED]> > To: [EMAIL PROTECTED] > Subject: [PHP-DEV] New FTP extension functionality > > Hi, > > yesterday I did several commits to the FTP extension. Due to the fact that > I do not know how I can document the stuff myself and right now am lacking > the time here is a brief instruction: > > Stefan Esser > > -------------------------------------------------------------------------- - > 5 new constants > --------------- > > FTP_AUTOSEEK new option for get/set_option: when enabled (which is default) > get/put requests with a resumepos/startpos will first seek > to the wanted position within the stream > > FTP_AUTORESUME automaticly determine resumepos/startpos for get/put request > (does only work if AUTOSEEK is enabled) > > FTP_FAILED asynchronous transfer has failed > FTP_FINISHED asynchronous transfer has finished > FTP_MOREDATA asynchronous transfer is still active > > New optional 5th parameter > -------------------------- > > Added optional "startpos" to ftp_put/ftp_fput (works like in the async examples) > Added optional "resumepos" to ftp_get/ftp_fget (works like in the async examples) > > New asynchronous FTP functions > ------------------------------ > > int ftp_async_get(resource ftp_stream, string local_file, string remote_file, int mode[, int resumepos]) > int ftp_async_fget(resource ftp_stream, resource fp, string remote_file, int mode[, int resumepos]) > int ftp_async_put(resource ftp_stream, string remote_file, string local_file, int mode[, int startpos]) > int ftp_async_fput(resource ftp_stream, string remote_file, resource fp, int mode[, int startpos]) > int ftp_async_continue(resource ftp_stream) > > > Example (Downloading a file): > ----------------------------- > > ... > // Initate the Download > $ret = ftp_async_get ($my_connection, "test", "README", FTP_BINARY); > while ($ret == FTP_MOREDATA) { > > // Do whatever you want > echo "."; > > // Continue downloading... > $ret = ftp_async_continue ($my_connection); > } > if ($ret != FTP_FINISHED) { > echo "There was an error downloading the file..."; > exit(1); > } > ... > > Example (Uploading a file): > ----------------------------- > > ... > // 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 (Resume downloading a file): > ------------------------------------ > > ... > // Initate > $ret = ftp_async_get ($my_connection, "test", "README", FTP_BINARY, > filesize("test")); > // OR: $ret = ftp_async_get ($my_connection, "test", "README", > // FTP_BINARY, FTP_AUTORESUME); > while ($ret == FTP_MOREDATA) { > > // Do whatever you want > echo "."; > > // Continue downloading... > $ret = ftp_async_continue ($my_connection); > } > if ($ret != FTP_FINISHED) { > echo "There was an error downloading the file..."; > exit(1); > } > ... > > Example (Resume uploading a file): > ---------------------------------- > > ... > // 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); > } > ... > > Example (Resume downloading at position 100 to a new file): > ----------------------------------------------------------- > ... > // Disable Autoseek > ftp_set_option ($my_connection, FTP_AUTOSEEK, FALSE); > > // Initiate > $ret = ftp_async_get ($my_connection, "newfile", "README", FTP_BINARY, 100); > while ($ret == FTP_MOREDATA) { > > ... > > // Continue downloading... > $ret = ftp_async_continue ($my_connection); > } > ... > > newfile is now 100 bytes smaller than README on the ftp because > we started reading at offset 100. If we have not have disabled > AUTOSEEK the first 100 bytes of newfile will be '\0'... > > > > -- > PHP Development Mailing List <http://www.php.net/> > To unsubscribe, visit: http://www.php.net/unsub.php > > > -- > PHP Documentation Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > -- PHP Documentation Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php