تابع ()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_connection |
ضروری. کانکشن FTP که قرار است از آن استفاده کنیم را مشخص می کند. |
local_file |
ضروری. مسیر فایل محلی را مشخص می کند( در صورتی که این فایل از قبل وجود داشته باشد، بازنویسی خواهد شد). |
server_file |
ضروری. فایل مورد نظر که قرار است آن را از سرور دانلود کنیم را مشخص می کند. |
mode |
ضروری. حالت انتقال(transfer) را مشخص می کند. مقادیر قابل قبول عبارتند از: FTP_ASCII یا FTP_BINARY . |
startpos |
اختیاری. موقعیتی را در فایل از راه دور، مشخص می کند که دانلود از آنجا شروع می شود. |
جزئیات تکنیکی
مقدار برگشتی: |
این تابع یکی از مقادیر زیر را برمی گرداند: FTP_FAILED (ارسال یا دریافت با شکست مواجه شده است)
|
---|---|
ورژن php: | 4.3+ |
- نوشته شده توسط احسان عباسی
- بازدید: 2237