ftp_fget (ftp_fget)
تابع ftp_fget برای «دانلود فایل FTP» استفاده می شود. «FTP» یعنی راه انتقال فایل؛ مثل فرستادن تکالیف از لپ تاپ به سرور.
دانلود فایل FTP چیست؟
تابع ftp_fget() فایل را از سرور می گیرد و در یک «فایل باز محلی» می نویسد. «حالت انتقال (Transfer Mode)» می تواند FTP_ASCII یا FTP_BINARY باشد.
سینتکس کوتاه
ftp_fget(resource $ftp_conn, resource $open_file, string $server_file, int $mode = FTP_ASCII, int $startpos = 0);
مثال: دانلود و ذخیره در فایل باز
<?php
$ftp_server = "ftp.example.com";
$ftp_conn = ftp_connect($ftp_server);
if ($ftp_conn === false) {
die("Could not connect to server.\n");
}
$login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);
if ($login === false) {
ftp_close($ftp_conn);
die("Login failed.\n");
}
$server_file = "somefile.txt";
$local_file = "local.txt";
$fp = fopen($local_file, "w");
if ($fp === false) {
ftp_close($ftp_conn);
die("Cannot open local file.\n");
}
$ok = ftp_fget($ftp_conn, $fp, $server_file, FTP_ASCII, 0);
if ($ok === true) {
echo "Successfully written to local.txt.\n";
} else {
echo "Error downloading somefile.txt.\n";
}
ftp_close($ftp_conn);
fclose($fp);
?>
گام های عملی دانلود فایل FTP
- به سرور با
ftp_connectوصل شو. - با
ftp_loginاحراز هویت کن. - فایل محلی را با
fopenباز کن. ftp_fgetرا با حالت مناسب اجرا کن.- اتصال و فایل را در پایان ببند.
نکات حالت انتقال و ازسرگیری
نکته: متن ها را با FTP_ASCII و عکس /باینری ها را با FTP_BINARY بگیر. این کار احتمال خرابی را کم می کند.
نکته: پارامتر startpos نقطه شروع دانلود است؛ برای ادامه دانلود مفید است.
لینک های مفید
- دانلود فایل FTP از اتصال درست شروع می شود.
- بستن اتصال FTP بعد از پایان کار ضروری است.
- W3Schools: ftp_fget() تعریف، سینتکس، و مثال اصلی.
- W3Schools: PHP FTP Reference فهرست کامل توابع FTP.
جمع بندی سریع
ftp_fgetفایل را در فایلِ باز می نویسد.- حالت درست را با دقت انتخاب کن.
- می توانی از نقطه خاص ادامه دهی.
- همیشه منابع را ببند.