fileiomenengahMahir3 mnt baca
Membaca dan Menulis File
Mengolah file teks dengan PHP: baca, tulis, tambah data, dan contoh counter pengunjung.
Cara cepat: file_get_contents dan file_put_contents
Untuk file kecil, dua fungsi ini cukup:
php
<?php
// Membaca seluruh file jadi string
$isi = file_get_contents("catatan.txt");
echo nl2br(htmlspecialchars($isi)); // nl2br: newline jadi <br>
// Menulis (menimpa isi lama)
file_put_contents("catatan.txt", "Halo dunia");
// Menambah di akhir tanpa menghapus yang lama
file_put_contents("log.txt", date("Y-m-d H:i:s") . " - dikunjungi
", FILE_APPEND);Cara manual: fopen, fread, fwrite, fclose
Untuk kontrol lebih detail (misalnya baca baris per baris file besar):
php
<?php
$handle = fopen("data.csv", "r");
if ($handle) {
while (($baris = fgets($handle)) !== false) {
echo htmlspecialchars(trim($baris)) . "<br>";
}
fclose($handle);
}Mode umum: "r" baca, "w" tulis (menimpa), "a" tambah di akhir.
Contoh nyata: counter pengunjung
php
<?php
$file = "counter.txt";
if (!file_exists($file)) {
file_put_contents($file, "0");
}
$jumlah = (int) file_get_contents($file);
$jumlah++;
file_put_contents($file, (string) $jumlah);
echo "Kamu pengunjung ke-$jumlah";Mengecek file
php
<?php
var_dump(file_exists("data.txt")); // true/false
echo filesize("data.txt"); // ukuran dalam byte
unlink("sementara.txt"); // hapus fileCatatan teknis: Pastikan PHP punya izin tulis ke folder/file target (di Linux biasanya permission 664/775, bukan 777 yang terlalu longgar). Untuk file yang ditulis banyak pengunjung bersamaan seperti counter, ada risiko race condition (dua request membaca angka yang sama). Untuk kasus serius, gunakan
flock()untuk mengunci file saat ditulis, atau lebih baik simpan ke database.