تابع ()ftp_nb_fget
مثال
دانلود یک فایل از سرور FTP و ذخیره ی آن در یک فایل باز شده ی محلی(به صورت رویدادگرا یا 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);
$server_file = "somefile.txt";
// open local file to write to
$local_file = "local.txt";
$fp = fopen($local_file,"w");
// initiate download
$d = ftp_nb_fget($ftp_conn, $fp, $server_file, FTP_BINARY)
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 and file handler
ftp_close($ftp_conn);
fclose($fp);
?>
تعریف و کاربرد
تابع ()ftp_nb_fget یک فایل را از سرور FTP دریافت(دانلود) می کند و آن را در یک فایل باز شده ی محلی( به صورت رویداد گرا یا non-blocking) ذخیره می کند.
نکته: این تابع برخلاف تابع ()ftp_fget فایل مورد نظر را به صورت ناهمگام(asynchronously) دریافت می کند، بنابراین شما می توانید هنگامی که فایل در حال دانلود شدن است، دیگر عملیات را انجام دهید.
نحوه نوشتن
پارامترها | توضیحات |
---|---|
ftp_connection |
ضروری. کانکشن ftp را برای استفاده، مشخص می کند. |
open_file |
ضروری. فایل محلی باز شده ای را که قرار است داده ها را در آن ذخیره کنیم، مشخص می کند. |
server_file |
ضروری. فایلی در سرور که قرار است دانلود شود را مشخص می کند. |
mode |
ضروری. حالت انتقال را مشخص می کند. مقادیر امکان پذیر عبارتند از: FTP_ASCII یا FTP_BINARY. |
startpos |
اختیاری. موقعیتی در فایل را مشخص می کند تا دانلود را از آن شروع کند. |
جزئیات تکنیکی
مقدار برگشتی: |
این تابع یکی از مقادیر زیر را برمی گرداند: FTP_FAILED (send/receive failed)
|
---|---|
ورژن php: | 4.3+ |
- نوشته شده توسط احسان عباسی
- بازدید: 2480