Last Updated on February 22, 2023 by
Koneksi internet akan sia-sia jika kita tidak dapat berbagi data. Akan ada banyak situasi ketika Anda perlu menangani file dari server PHP FTP. PHP menyediakan beberapa fungsi FTP pada PHP untuk melakukan tugas dengan cukup mudah, tetapi ada juga beberapa kesulitan tersembunyi.
Semua berbagi file berfungsi dengan menghubungkan komputer satu sama lain. Untuk itu, protokol digunakan. Fungsi FTP dalam PHP dimaksudkan untuk memungkinkan Anda mengakses server file FTP menggunakan PHP script yang tersedia.
Dalam pelajaran ini, kami akan memperkenalkan Anda pada fungsi dan konstanta standar yang diperlukan untuk membuat PHP membuat direktori, menjangkau file yang dapat diunduh PHP, dan melakukan tugas lain selama koneksi PHP FTP.
Table of Contents
Mengenal PHP FTP Untuk Mengakses File Server
FTP (yang merupakan singkatan dari File Transfer Protocol) adalah protokol client-server. Fungsi untuk bekerja dengan FTP telah ada sejak PHP 3 (meskipun beberapa konstanta telah diperkenalkan di versi 4.3), tetapi tidak semua server file mendukungnya.
Fungsi PHP FTP memungkinkan klien untuk mengakses server file melalui File Transfer Protocol (FTP). Fungsi FTP dapat digunakan untuk login, menutup koneksi, upload, rename, delete, download, dapatkan info dari file server.
Untuk menggunakan fungsi PHP FTP, Anda harus mengkompilasi PHP dengan –enable-ftp . Versi Windows PHP mempunyai dukungan bawaan untuk ekstensi ini. Jika kita ingin membaca atau menulis file dari server file, kita dapat menggunakan pembungkus ftp:// bersama dengan fungsi sistem file yang lebih sederhana dan intuitif.
Daftar Fungsi PHP FTP Yang Tersedia
Berikut yang dapat Anda lihat tabel fungsi FTP pada PHP di bawah ini. Fungsi terdaftar menurut abjad dan penjelasan untuk masing-masing disediakan. Setiap kali Anda perlu membuat direktori PHP atau mengunduh file PHP dari server, Anda dapat dengan mudah memilih fungsi yang Anda butuhkan dari tabel ini:
Fungsi | Keterangan |
ftp_alloc() | Alokasikan ruang untuk file yang akan diunggah ke server FTP |
ftp_cdup() | Ubah ke direktori induk di server FTP |
ftp_chdir() | Ubah direktori saat ini di server FTP |
ftp_chmod() | Tetapkan izin pada file melalui FTP |
ftp_close() | Tutup koneksi FTP |
ftp_connect() | Buka koneksi FTP |
ftp_delete() | Hapus file di server FTP |
ftp_exec() | Jalankan perintah di server FTP |
ftp_fget() | Unduh file PHP dari server dan simpan ke dalam file lokal terbuka |
ftp_fput() | Unggah dari file terbuka dan simpan ke file di server FTP |
ftp_get_option() | Kembalikan opsi runtime dari koneksi FTP |
ftp_get() | File unduhan PHP dari server |
ftp_login() | Masuk ke koneksi FTP |
ftp_mdtm() | Kembalikan waktu modifikasi terakhir dari file yang ditentukan |
ftp_mkdir() | PHP membuat direktori di server FTP |
ftp_nb_continue() | Lanjutkan mengambil/mengirim file (non-blocking) |
ftp_nb_fget() | Dapatkan file yang dapat diunduh PHP dari server dan simpan ke dalam file terbuka (non-pemblokiran) |
ftp_nb_fput() | Unggah dari file terbuka dan simpan ke file di server FTP (non-pemblokiran) |
ftp_nb_get() | Dapatkan file yang dapat diunduh PHP dari server (non-pemblokiran) |
ftp_nb_put() | Unggah file ke server FTP (non-pemblokiran) |
ftp_nlist() | Kembalikan daftar file dalam direktori yang ditetapkan di server FTP |
ftp_pasv() | Mengaktifkan/menonaktifkan mode pasif |
ftp_put() | Unggah file ke server FTP |
ftp_pwd() | PHP mendapatkan nama direktori saat ini |
ftp_quit() | Alias dari fungsi ftp_close() |
ftp_raw() | Kirim perintah mentah ke server FTP |
ftp_rawlist() | Kembalikan daftar file dengan informasi file dari direktori yang ditetapkan |
ftp_rename() | Ganti nama file atau direktori di server FTP |
ftp_rmdir() | Hapus direktori kosong di server FTP |
ftp_set_option() | Mengatur opsi runtime untuk koneksi FTP |
ftp_site() | Kirim perintah SITUS FTP ke server FTP |
ftp_size() | Mengembalikan ukuran file yang ditentukan |
ftp_ssl_connect() | Buka koneksi SSL-FTP yang aman |
ftp_systype() | Kembalikan pengidentifikasi tipe sistem dari server FTP |
Konstanta Standar FTP Menggunakan PHP
Konstanta ini mungkin juga berguna saat bekerja dengan koneksi PHP FTP. Seperti yang Anda lihat, semuanya adalah bilangan bulat (berisi nilai numerik) dan bekerja dengan mudah sejak PHP 4.3 pertama kali diperkenalkan:
Constant | Type | PHP version |
FTP_ASCII | Int | PHP 3 dan yang terbaru |
FTP_TEXT | Int | PHP 3 dan yang terbaru |
FTP_BINARY | Int | PHP 3 dan yang terbaru |
FTP_IMAGE | Int | PHP 3 dan yang terbaru |
FTP_TIMEOUT_SEC | Int | PHP 3 dan yang terbaru |
FTP_AUTOSEEK | Int | PHP 4.3 dan yang terbaru |
FTP_AUTORESUME | Int | PHP 4.3 dan yang terbaru |
FTP_FAILED | Int | PHP 4.3 dan yang terbaru |
FTP_FINISHED | Int | PHP 4.3 dan yang terbaru |
FTP_MOREDATA | Int | PHP 4.3 dan yang terbaru |
Skrip Fungsi FTP Menggunakan PHP Dalam Menangani File Server
Tutorial PHP di bawah ini kami akan memandu Anda bagaimana menggunakan skrip PHP untuk menangani file di server FTP.
Connect dan Login Dengan PHP FTP Server
Pertama-tama kita harus terhubung ke server ftp menggunakan fungsi PHP yaitu ftp_connect() . Setelah koneksi kita harus masuk ke server ftp menggunakan fungsi ftp_login() yang menyediakan nama pengguna dan kata sandi.
Fungsi ini dapat digunakan untuk terhubung ke server ftp dengan port tertentu dan batas waktu (keduanya opsional). Jika berhasil, fungsi ini akan mengembalikan aliran FTP dan salah jika gagal.
Berikut ini contoh kodenya.
Contoh
// Informasi FTP Server $ftp_host = 'ftp.example.com'; $ftp_username = 'ftpUser'; $ftp_password = '*****'; // Buka koneksi FTP $conn_id = ftp_connect($ftp_host) or die("Tidak dapat terhubung ke $ftp_host"); // Login FTP if(@ftp_login($conn_id, $ftp_username, $ftp_password)){ echo "Terhubung sebagai $ftp_username@$ftp_host"; }else{ echo "Tidak dapat terhubung sebagai $ftp_username"; } // Tutup koneksi ftp_close($conn_id);
Setelah membuat koneksi berhasil, Anda harus masuk menggunakan kredensial yang Anda miliki. Anda dapat menggunakan fungsi ftp_login untuk tujuan ini.
Nama pengguna dan kata sandi adalah kredensial login untuk server ftp. Ini akan mengembalikan TRUE untuk sukses dan FALSE untuk koneksi yang gagal.
Mengatur koneksi ke mode pasif
Untuk melakukan sebagian besar operasi, Anda perlu membuat aliran koneksi ftp ke mode pasif. Fungsi ftp_pasv dapat digunakan untuk tujuan ini. Karena dalam mode pasif, koneksi data diinisiasi oleh klien dan bukan oleh server, Hal ini sebagian besar diperlukan jika server berada di belakang firewall.
bool ftp_pasv ( resource $ftp_stream , bool $pasv );
ftp_stream adalah objek koneksi ftp dan parameter kedua bisa benar atau salah, yang menunjukkan status mode pasif.
Jika ini tidak diatur maka sebagian besar operasi tidak dapat dilakukan. Juga koneksi akan terputus terus menerus dan mungkin ada masalah lain yang perlu ditangani. Untuk menghindari semua ini, lebih baik membuka mode pasif dengan server ftp.
Membuat Daftar file
Biasanya, Anda perlu membuat daftar file di direktori tertentu di server ftp, dan kemudian harus menelusurinya untuk memprosesnya. Anda dapat menggunakan fungsi ftp_nlist. Fungsi ini akan mengembalikan daftar file di direktori yang diberikan.
array ftp_nlist ( resource $ftp_stream , string $directory );
Fungsi ini akan mengembalikan array file dari direktori yang diberikan. Anda dapat gunakan ‘.’ untuk menunjukkan direktori saat ini. Jika kita belum mengatur mode pasif pada langkah terakhir, maka mungkin fungsi ini akan selalu mengembalikan false, bahkan jika ada file yang akan dicantumkan dalam direktori yang diberikan. Anda juga dapat menggunakan fungsi ftp_rawlist, yang akan mengembalikan daftar file yang lebih detail di direktori yang diberikan.
mixed ftp_rawlist ( resource $ftp_stream , string $directory [, bool $recursive = false ] );
Jika parameter ketiga BENAR maka itu akan mencantumkan file secara rekursif untuk semua direktori di dalam direktori yang diberikan.
Unggah File Dengan FTP Server
Sekarang saatnya mengunggah file ke server. Kita harus menggunakan fungsi ftp_put() untuk melakukannya.
Berikut contoh kodenya :
// Informasi FTP Server $ftp_host = 'ftp.example.com'; $ftp_username = 'ftpuser'; $ftp_password = '*****'; // Buka koneksi FTP $conn_id = ftp_connect($ftp_host) or die("Tidak dapat terhubung ke $ftp_host"); // Login FTP $ftp_login = ftp_login($conn_id, $ftp_username, $ftp_password); // Local & server file path $localFilePath = 'index.php'; $remoteFilePath = 'public_html/index.php'; // Upload file if(ftp_put($conn_id, $remoteFilePath, $localFilePath, FTP_ASCII)){ echo "File transfer berhasil - $localFilePath"; }else{ echo "Terjadi error ketika upload file $localFilePath"; } // Tutup koneksi ftp_close($conn_id);
Unduh File dari Server FTP
Karena menghabiskan sebagian besar waktu, kami memiliki persyaratan untuk mengunduh file dari server. Untuk ini kita harus menggunakan fungsi PHP ftp_get().
Contoh kode :
// Informasi FTP Server $ftp_host = 'ftp.example.com'; $ftp_username = 'ftpuser'; $ftp_password = '*****'; // Buka koneksi FTP $conn_id = ftp_connect($ftp_host) or die("Tidak dapat terhubung ke $ftp_host"); // Login FTP $ftp_login = ftp_login($conn_id, $ftp_username, $ftp_password); // Local & server file path $localFilePath = 'index.php'; $remoteFilePath = 'public_html/index.php'; // Download file dari server if(ftp_get($conn_id, $localFilePath, $remoteFilePath, FTP_BINARY)){ echo "File transfer berhasil - $localFilePath"; }else{ echo "Terjadi error ketika download file $localFilePath"; } // Tutup koneksi ftp_close($conn_id);
Menghapus File dengan fungsi PHP FTP
Akhirnya mari kita lakukan untuk menghapus file dari server. PHP memiliki fungsi untuk melakukan tugas ini yaitu ftp_delete().
Contoh kode :
// Informasi FTP Server $ftp_host = 'ftp.example.com'; $ftp_username = 'ftpuser'; $ftp_password = '*****'; // Buka koneksi FTP $conn_id = ftp_connect($ftp_host) or die("Tidak dapat terhubung ke $ftp_host"); // Login FTP $ftp_login = ftp_login($conn_id, $ftp_username, $ftp_password); // Server file path $file = 'public_html/index_old.php'; // Delete file pada server if(ftp_delete($conn_id, $file)){ echo "$file file berhasil terhapus"; }else{ echo "Terjadi error ketika menghapus file $file"; } // Tutup koneksi ftp_close($conn_id);
Rangkuman
Penting bagi setiap pengembang web untuk mengunggah file ke server menggunakan FTP. Kami tahu ada banyak klien FTP yang tersedia di pasaran seperti filezilla, cute ftp, dll. PHP juga menyediakan banyak fungsi untuk menangani file di server FTP.
Menggunakan fungsi FTP pada PHP dalam kode Anda, Anda dapat menjangkau (mengunggah, mengunduh, mengganti nama, dll.) file yang disimpan di server FTP atau PHP membuat direktori dari awal.
Jika Anda tidak menggunakan versi PHP yang dibuat untuk Windows, Anda memerlukan ekstensi bernama –enable-ftp .
Wrapper ftp:// dan fungsi sistem file sederhana akan baik-baik saja jika semua yang perlu Anda lakukan dengan file tertentu adalah membaca atau menulis ke dalamnya.
Ingatlah bahwa Anda mungkin mendapatkan hasil yang berbeda menggunakan fungsi ini di server file yang berbeda.
Demikianlah seri belajar PHP kali ini terkait PHP FTP. Terus follow CODEKEY agar tidak ketinggalan tips-tips belajar pemrograman lainnya, ya! Langsung klik http://codekey.id/ untuk baca gratis seluruh seri tutorial coding dari kami. Sampai jumpa lagi!
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.