PHP ftp_nb_put() Function
The PHP ftp_nb_put() function uploads a local file to the FTP server (non-blocking).
The difference between this function and ftp_put() is that this function uploads the file asynchronously, so your program can perform other operations while the file is being uploaded.
Syntax
ftp_nb_put(ftp, server_file, local_file, mode, offset)
Parameters
ftp |
Required. Specify the FTP connection to use. |
server_file |
Required. Specify the server file path to upload to. |
local_file |
Required. Specify the path of the file is to be uploaded on the FTP server. |
mode |
Optional. Specify the transfer mode. Must be either FTP_ASCII or FTP_BINARY. |
offset |
Optional. Specify the position in the remote file to start uploading to. |
Return Value
Returns false on failure to open the local file, otherwise returns any of the following values:
- FTP_FAILED: Asynchronous transfer has failed.
- FTP_FINISHED: Asynchronous transfer has finished.
- FTP_MOREDATA: Asynchronous transfer is still active.
Example:
The example below shows the usage of ftp_nb_put() function.
<?php //FTP server to use $ftp_server = "ftp.example.com"; //username for the FTP Connection $ftp_user = "user"; //password for the user $ftp_pass = "password"; //set up a connection or die $ftp = ftp_connect($ftp_server) or die("Could not connect to $ftp_server"); if($ftp) { echo "Successfully connected to $ftp_server!\n"; //trying to login if(@ftp_login($ftp, $ftp_user, $ftp_pass)) { echo "Connected as $ftp_user@$ftp_server\n"; //server file path where the //file need to be uploaded $server_file = "server_demo.txt"; //local file path which //need to be uploaded $local_file = "local_demo.txt"; //uploading the specified local file $ret = ftp_nb_put($ftp, $server_file, $local_file, FTP_ASCII); while ($ret == FTP_MOREDATA) { //continue uploading... $ret = ftp_nb_continue($ftp); } if ($ret == FTP_FINISHED) { echo "Successfully uploaded $local_file\n"; } else { echo "Error while uploading $local_file\n"; exit(1); } } else { echo "Couldn't connect as $ftp_user\n"; } //close the connection if(ftp_close($ftp)) { echo "Connection closed successfully!\n"; } } ?>
The output of the above code will be:
Successfully connected to ftp.example.com! Connected as user@ftp.example.com Successfully uploaded local_demo.txt Connection closed successfully!
❮ PHP FTP Reference