Share

Menyambung tutorial PHP sebelumnya yaitu import dan export file CSV dengan PHP dan MySQL, pada kesempatan ini saya akan menulis tutorial untuk file handling dengan PHP.

Pada umumnya, aplikasi-aplikasi PHP melakukan tiga tahap untuk membuka atau menulis file, yaitu membuka file, membaca atau menulis file, dan menutup file. Bagaimanapun operasi file secara langsung bisa mempengaruhi keamanan serta performa sistem aplikasi. Oleh karena itu, dalam pengaksesan file, kita perlu memperhatikan beberapa hal. Seperti di bawah ini :

  • Pada saat melakukan operasi pembacaan isi file (dengan perintah “r” atau “r+”), pastikan file benar-benar ada. Khusus pembacaan file dengan perintah “a+”, “w+”, dan “x+”, apabila file tidak ada maka akan dibuat file baru.
  • Apabila aplikasi bekerja dengan file, sebaiknya letakkan file-file pendukung tersebut terpisah dengan file aplikasi (source code). Hindari penempatan file dalam folder root, dan lakukan validasi path untuk meningkatkan akses file serta mencegah file injection.
  • Dalam melakukan operasi pembacaan file, pastikan bahwa operasi diimplementasikan secara murni (native). PHP menyediakan fungsi high-level yang bisa membuka file kemudian men-load atau menulis data ke file dalam sebuah operasi tunggal, yaitu fungsi file_get_contents().
  • Berhati-hatilah dalam memanipulasi file, kita akan mendapatkan banyak masalah jika kita melakukan sesuatu yang salah. Kesalahan umum adalah: mengedit file yang salah, mengisi hard-drive dengan data sampah, dan menghapus isi dari file secara tidak sengaja.

Di bawah ini adalah tutorial sederhana untuk penanganan file.

  1. Membuat file baru (sebuah file kosong)
  2. Membuka file
  3. Membaca isi file
  4. Menulis data ke dalam file
  5. Menambahkan isi file
  6. Menutup file
  7. Menghapus file

Berikut ini mode-mode yang digunakan dalam mengakses file

Mode Penjelasan
r Membuka file hanya untuk dibaca, pointer dimulai dari awal file.
w Membuka file hanya untuk menulis, menghapus isi file atau membuat file baru jika tidak ada. File pointer dimulai pada awal file.
a Membuka file hanya untuk menulis, data yang ada dalam file tersebut tidak dihapus. File pointer dimulai pada akhir file. Membuat file baru jika file tidak ada.
x Membuat file baru hanya untuk menulis, akan bernilai FALSE atau error jika file sudah ada sebelumnya.
r+ Membuka file untuk dibaca dan ditulis, pointer dimulai dari awal file.
w+ Membuka file untuk dibaca dan ditulis, menghapus isi file atau membuat file baru jika tidak ada. File pointer dimulai pada awal file.
a+ Membuka file untuk dibaca dan ditulis, data yang ada dalam file tersebut tidak dihapus. File pointer dimulai pada akhir file. Membuat file baru jika file tidak ada.
x+ Membuka file untuk dibaca dan ditulis, akan bernilai FALSE atau error jika file sudah ada sebelumnya.

Semoga bermanfaat 🙂