Fungsi ftp_nb_fget()
digunakan untuk mendapatkan (mengunduh) file dari server FTP dan menyimpannya ke dalam file lokal terbuka (non-pemblokiran).
Tip: Fungsi ini (kebalikan dari ftp_fget()
) mengambil file secara asinkron, sehingga kita bisa melakukan operasi lain saat file sedang didownload.
ftp_nb_fget(ftp_conn, open_file, server_file, mode, startpos);
Parameter | Deskripsi |
---|---|
ftp_conn | Required. Menentukan koneksi FTP yang akan digunakan |
open_file | Required. Menentukan file lokal terbuka tempat untuk menyimpan data |
server_file | Required. Menentukan file server yang akan didownload |
mode | Optional. Menentukan mode transfer. Nilai yang memungkinkan: FTP_ASCII atau FTP_BINARY |
startpos | Optional. Menentukan posisi dalam file jarak jauh untuk mulai mengunduh |
Return Value: | Salah satu nilai berikut: FTP_FAILED (kirim / terima gagal) FTP_FINISHED (kirim / terima selesai) FTP_MOREDATA (kirim / terima sedang berlangsung) |
---|---|
PHP Version: | 4.3+ |
PHP Changelog: | PHP 7.3 – Parameter mode dibuat opsional. |
Contoh
Unduh file dari server FTP, dan simpan ke file lokal terbuka (tanpa pemblokiran):
<?php // Hubungkan dan login ke server FTP $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"; // buka file lokal untuk menulis $local_file = "local.txt"; $fp = fopen($local_file,"w"); // mulai mendownload $d = ftp_nb_fget($ftp_conn, $fp, $server_file, FTP_BINARY) while ($d == FTP_MOREDATA) { // Lakukan yang inign dilakukan // Lanjutkan mendownload $d = ftp_nb_continue($ftp_conn); } if ($d != FTP_FINISHED) { echo "Error downloading $server_file"; exit(1); } // Tutup koneksi dan file handler ftp_close($ftp_conn); fclose($fp); ?>