مثال
دانلود یک فایل از سرور FTP و ذخیره کردن آن در یک فایل محلی( به صورت رویداگرا):
<?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);
?>تعریف و کاربرد
تابع ()ftp_nb_get یک فایل را از سرور FTP می گیرد(دانلود می کند) و آن را در یک فایل محلی به صورت رویدادگرا(non-blocking) ذخیره می کند.
نکته: این تابع ( بر خلاف تابع ftp_get ) فایل مورد نظر را به صورت ناهمگام(asynchronously) دریافت می کند. بنابراین شما می توانید هنگامی که فایل مورد نظر در حال دانلود است، دیگر عملیات را انجام دهید.
نحوه ی نوشتن
| پارامتر | توضیحات | 
|---|---|
| ftp_connection | ضروری. کانکشن FTP که قرار است از آن استفاده کنیم را مشخص می کند.  |  
| local_file | ضروری. مسیر فایل محلی را مشخص می کند( در صورتی که این فایل از قبل وجود داشته باشد، بازنویسی خواهد شد).  |  
| server_file | ضروری. فایل مورد نظر که قرار است آن را از سرور دانلود کنیم را مشخص می کند.  |  
| mode | ضروری. حالت انتقال(transfer) را مشخص می کند. مقادیر قابل قبول عبارتند از: FTP_ASCII یا FTP_BINARY .  |  
| startpos | اختیاری. موقعیتی را در فایل از راه دور، مشخص می کند که دانلود از آنجا شروع می شود.  |  
جزئیات تکنیکی
| مقدار برگشتی: | این تابع یکی از مقادیر زیر را برمی گرداند: FTP_FAILED (ارسال یا دریافت با شکست مواجه شده است) 
  |  
|---|---|
| ورژن php: | 4.3+ |  
 



