PHP ftp_nb_get() Function
Example
Download a file from the FTP server, and save it into a local file (non-blocking):
<?php
// connect and login to FTP server
 $ftp_server = "ftp.example.com";
$ftp_conn = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
$login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);
$local_file = "local.zip";
$server_file = "server.zip";
// initiate download
$d = ftp_nb_get($ftp_conn, $local_file, $server_file, FTP_ASCII)
while ($d == FTP_MOREDATA)
  {
  // do whatever you want
  // continue downloading
  $d = ftp_nb_continue($ftp_conn);
  }
 
if ($d != FTP_FINISHED)
  {
  echo "Error downloading $server_file";
  exit(1);
  }
// close connection
ftp_close($ftp_conn);
?>
Definition and Usage
The ftp_nb_get() function gets (downloads) a file from the FTP server, and saves it into a local file (non-blocking).
Tip: This function (as opposite to ftp_get()) retrieves the file asynchronously, so you can perform other operations while the file is being downloaded.
Syntax
ftp_nb_get(ftp_conn, local_file, server_file, mode, startpos);
Parameter Values
| Parameter | Description | 
|---|---|
| ftp_conn | Required. Specifies the FTP connection to use | 
| local_file | Required. Specifies the local file path (will be overwritten if the file already exists) | 
| server_file | Required. Specifies the server file to download | 
| mode | Optional. Specifies the transfer mode. Possible values: FTP_ASCII or FTP_BINARY | 
| startpos | Optional. Specifies the position in the remote file to start downloading from | 
Technical Details
| Return Value: | One of the following values:
  | 
|---|---|
| PHP Version: | 4.3+ | 
| PHP Changelog: | PHP 7.3 - The mode parameter was made optional. | 
❮ PHP FTP Reference
Copyright 1999-2023 by Refsnes Data. All Rights Reserved.