مثال
دانلود یک فایل از سرور 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);
$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()) فایل را به صورت آسنکرون دریافت می کند، پس می تواند کد های دیگر را هم همزمان با دانلود این فایل اجرا کنید.
سینتکس
ftp_nb_get(ftp_conn, local_file, server_file, mode, startpos);
مقادیر پارامتر ها
پارامتر | توضیح |
---|---|
ftp_conn | اجباری. اتصال FTP |
local_file | اجباری. آدرس فایل محلی |
server_file | اجباری. آدرس فایلی که باید از سرور دانلود شود |
mode | اختیاری. مد انتقال – مقادیر احتمالی :FTP_ASCII یا FTP_BINARY |
startpos | اختیاری. موقعیت در فایل ریموت که دانلود از آنجا آغاز شود |
دیدگاهها