PHP ftp_nb_get function
Like this blog? Consider exploring one of our sponsored banner ads...
ftp_nb_get
(PHP 4 >= 4.3.0, PHP 5)
ftp_nb_get — Retrieves a file from the FTP server and writes it to a local file (non-blocking)Descriptionint ftp_nb_get ( resource ftp_stream, string local_file, string remote_file, int mode [, int resumepos] )
ftp_nb_get() retrieves a remote file from the FTP server,
and saves it into a local file.
The difference between this function and ftp_get() is that
this function retrieves the file asynchronously, so your program can perform
other operations while the file is being downloaded.
ftp_stream
The link identifier of the FTP connection.
The local file path (will be overwritten if the file already exists).
The remote file path.
The transfer mode. Must be either FTP_ASCII or
FTP_BINARY.
Return Values
Returns FTP_FAILED or FTP_FINISHED
or FTP_MOREDATA.
Example 1. ftp_nb_get() example
// 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()
// 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()
// 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 didn’t disable
FTP_AUTOSEEK, the first 100 bytes of
newfile would be ‘\0′.
ftp_nb_fget()ftp_nb_continue()ftp_fget()ftp_get()
About this entry
You’re currently reading “PHP ftp_nb_get function,” an entry on BRADINO
- Published:
- 2.26.07 / 1am
- Category:
- PHP Functions
- Tags:
No comments
Jump to comment form | comments rss [?] | trackback uri [?]