PHP File System: Membaca dan Menulis File

Tidak semua data harus disimpan di database. Untuk kebutuhan seperti mencatat log aktivitas, menyimpan pengaturan sederhana, atau mengekspor data, menyimpan ke file sudah cukup. PHP menyediakan PHP File System — kumpulan fungsi untuk membuat, membaca, menulis, dan menghapus file di server.

Menulis ke File

Cara termudah menulis file adalah file_put_contents(). Fungsi ini membuat file (jika belum ada) lalu menuliskan isinya:

<?php
file_put_contents("catatan.txt", "Halo dunia");
?>

Untuk menambahkan tanpa menimpa isi lama, gunakan flag FILE_APPEND:

<?php
file_put_contents("log.txt", "Baris baru\n", FILE_APPEND);
?>

Membaca Isi File

Sebaliknya, file_get_contents() membaca seluruh isi file sebagai satu string:

<?php
$isi = file_get_contents("catatan.txt");
echo $isi; // Halo dunia
?>

Cara Klasik: fopen, fwrite, fread

Untuk kontrol lebih detail, gunakan pendekatan bertahap. Anda membuka file, memprosesnya, lalu menutupnya:

<?php
$f = fopen("data.txt", "w"); // buka mode tulis
fwrite($f, "Baris pertama\n");
fwrite($f, "Baris kedua\n");
fclose($f); // selalu tutup file
?>

Membaca baris per baris berguna untuk file besar agar hemat memori:

<?php
$f = fopen("data.txt", "r");
while (!feof($f)) {
    echo fgets($f); // baca satu baris
}
fclose($f);
?>

Memahami Mode Pembukaan File

ModeArti
rBaca saja
wTulis (menimpa isi lama)
aTambah di akhir file
xBuat file baru (gagal jika sudah ada)

Memeriksa dan Menghapus File

<?php
if (file_exists("data.txt")) {
    echo "Ukuran: " . filesize("data.txt") . " byte";
    unlink("data.txt"); // menghapus file
}
?>

Contoh Praktik: Mencatat Log Kunjungan

<?php
$waktu = date("Y-m-d H:i:s");
$ip = $_SERVER["REMOTE_ADDR"];
file_put_contents("kunjungan.log", "$waktu - $ip\n", FILE_APPEND);
?>

Kesalahan Umum

  • Folder tidak memiliki izin tulis. Pastikan permission folder benar agar operasi berhasil.
  • Lupa fclose(). File yang tidak ditutup bisa menyebabkan data tidak tersimpan sempurna.

Kesimpulan

Dengan PHP File System, Anda dapat menyimpan data ke file tanpa database. Untuk operasi sederhana, file_put_contents() dan file_get_contents() sudah cukup; untuk file besar, gunakan pendekatan fopen agar hemat memori.

Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi PHP (php.net).

Baca Juga

Ali Akbar

Software Developer yang fokus mengembangkan aplikasi berbasis Web dan Desktop. Senang mempelajari teknologi baru terutama di bidang web design dan web development.

View all posts by Ali Akbar →

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *