(PHP 4 >= 4.3.0, PHP 5)
ftp_nb_put — Stores a file on the FTP server (non-blocking)
ftp_nb_put() stores a local file on the FTP server.
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 uploaded.
The link identifier of the FTP connection.
The remote file path.
The local file path.
The transfer mode. Must be either FTP_ASCII or FTP_BINARY.
Returns FTP_FAILED or FTP_FINISHED or FTP_MOREDATA.
Example#1 ftp_nb_put() example
<?php
// Initiate the Upload
$ret = ftp_nb_put($my_connection, "test.remote", "test.local", FTP_BINARY);
while ($ret == FTP_MOREDATA) {
// Do whatever you want
echo ".";
// Continue uploading...
$ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
echo "There was an error uploading the file...";
exit(1);
}
?>
Example#2 Resuming an upload with ftp_nb_put()
<?php
// Initiate
$ret = ftp_nb_put($my_connection, "test.remote", "test.local",
FTP_BINARY, ftp_size("test.remote"));
// OR: $ret = ftp_nb_put($my_connection, "test.remote", "test.local",
// FTP_BINARY, FTP_AUTORESUME);
while ($ret == FTP_MOREDATA) {
// Do whatever you want
echo ".";
// Continue uploading...
$ret = ftp_nb_continue($my_connection);
}
if ($ret != FTP_FINISHED) {
echo "There was an error uploading the file...";
exit(1);
}
?>