سبد (0)

تابع ()ftp_nb_get

مثال

دانلود یک فایل از سرور 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_nb_get(ftp_connection,local_file,server_file,mode,startpos);
پارامترتوضیحات
ftp_connection

ضروری. کانکشن FTP که قرار است از آن استفاده کنیم را مشخص می کند. 

local_file

ضروری. مسیر فایل محلی را مشخص می کند( در صورتی که این فایل از قبل وجود داشته باشد، بازنویسی خواهد شد).

server_file

ضروری. فایل مورد نظر که قرار است آن را از سرور دانلود کنیم را مشخص می کند. 

mode

ضروری. حالت انتقال(transfer) را مشخص می کند. مقادیر قابل قبول عبارتند از: FTP_ASCII یا FTP_BINARY . 

startpos

اختیاری. موقعیتی را در فایل از راه دور، مشخص می کند که دانلود از آنجا شروع می شود. 

جزئیات تکنیکی

مقدار برگشتی:

این تابع یکی از مقادیر زیر را برمی گرداند:

FTP_FAILED (ارسال یا دریافت با شکست مواجه شده است)

  • FTP_FINISHED (ارسال یا دریافت کامل شده است)
  • FTP_MOREDATA (ارسال یا دریافت در حال پیشرفت است)
ورژن php: 4.3+

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه