PHP Buka/Baca/Tutup Berkas

Dalam bagian ini, kita akan menjelaskan bagaimana membuka, membaca, dan menutup berkas di server.

PHP Buka Berkas - fopen()

Cara yang lebih baik untuk membuka berkas adalah melalui fungsi fopen(). Fungsi ini memberikan lebih banyak opsi daripada fungsi readfile().

Dalam kursus ini, kita akan menggunakan berkas teks "webdictionary.txt":

AJAX = Asinkron JavaScript dan XML
CSS = Sheet Gaya Turun Tandas
HTML = Bahasa Markup Tekst Hyper
PHP = Preprosesor Hiperteks PHP
SQL = Bahasa Query Struktur
SVG = Grafik Vektor Skalabel
XML = Bahasa Markup yang Dapat Diperluas

Paramter pertama fopen() berisi nama berkas yang akan dibuka, paramter kedua menentukan mode pembukaan berkas. Jika fungsi fopen() gagal membuka berkas yang ditentukan, contoh di bawah ini akan menghasilkan pesan:

Contoh

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Tidak dapat membuka berkas!");
echo fread($myfile, filesize("webdictionary.txt"));
fclose($myfile);
?>

Contoh Penggunaan

Petunjuk:Kami akan belajar fungsi fread() dan fclose() selanjutnya.

Berkas akan dibuka dalam salah satu mode berikut:

Mode Deskripsi
r Buka berkas untuk membaca saja. Pointer berkas mulai di awal berkas.
w Buka berkas untuk menulis saja. Isi berkas akan dihapus atau berkas baru akan dibuat jika belum ada. Pointer berkas mulai di awal berkas.
a Buka berkas untuk menulis saja. Data yang ada di berkas akan dipecahkan. Pointer berkas mulai di akhir berkas. Buat berkas baru jika belum ada.
x Buat berkas baru untuk menulis saja. Kembalikan FALSE dan pesan kesalahan jika berkas sudah ada.
r+ Buka berkas untuk membaca/tulis. Pointer berkas mulai di awal berkas.
w+ Buka berkas untuk membaca/tulis. Isi berkas akan dihapus atau berkas baru akan dibuat jika belum ada. Pointer berkas mulai di awal berkas.
a+ Buka berkas untuk membaca/tulis. Data yang ada di berkas akan dipecahkan. Pointer berkas mulai di akhir berkas. Buat berkas baru jika belum ada.
x+ Membuat berkas baru untuk membaca/tulis. Kembalikan FALSE dan pesan kesalahan jika berkas sudah ada.

PHP membaca berkas - fread()

Fungsi fread() membaca berkas yang dibuka.

Paramter pertama fread() berisi nama berkas yang akan diambil, paramter kedua menentukan jumlah byte maksimal yang akan diambil.

Kode PHP berikut membaca berkas "webdictionary.txt" hingga akhir:

fread($myfile, filesize("webdictionary.txt"));

PHP menutup berkas - fclose()

Fungsi fclose() digunakan untuk menutup berkas yang dibuka.

Keterangan:Membuat berkas ditutup setelah digunakan adalah kebiasaan yang bagus. Anda tidak ingin berkas yang dibuka menempati sumber daya server Anda.

fclose() memerlukan nama berkas yang akan ditutup (atau variabel yang menyimpan nama berkas):

<?php
$myfile = fopen("webdictionary.txt", "r");
// kode yang akan dieksekusi...
fclose($myfile);
?>

PHP membaca baris tunggal berkas - fgets()

Fungsi fgets() digunakan untuk membaca baris tunggal dari berkas.

Output contoh baris pertama file "webdictionary.txt":

Contoh

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Tidak dapat membuka berkas!");
echo fgets($myfile);
fclose($myfile);
?>

Contoh Penggunaan

Keterangan:Setelah memanggil fungsi fgets(), penanda berkas akan bergerak ke baris berikutnya.

Memeriksa End-Of-File PHP - feof()

Fungsi feof() memeriksa apakah sudah mencapai "end-of-file" (EOF).

feof() sangat berguna untuk mengelilingi data yang ukurannya tak dikenal.

Contoh berikutnya membaca baris-baris dari berkas "webdictionary.txt" sampai end-of-file:

Contoh

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Tidak dapat membuka berkas!");
// Output baris tunggal sampai end-of-file
while(!feof($myfile)) {
  echo fgets($myfile) . "<br>";
}
fclose($myfile);
?>

Contoh Penggunaan

Membaca Karakter tunggal PHP - fgetc()

Fungsi fgetc() digunakan untuk membaca karakter tunggal dari berkas.

Contoh berikutnya membaca berkas "webdictionary.txt" karakter demi karakter sampai end-of-file:

Contoh

<?php
$myfile = fopen("webdictionary.txt", "r") or die("Tidak dapat membuka berkas!");
// Output karakter tunggal sampai end-of-file
while(!feof($myfile)) {
  echo fgetc($myfile);
}
fclose($myfile);
?>

Contoh Penggunaan

Keterangan:Setelah memanggil fungsi fgetc(), penanda berkas akan bergerak ke karakter berikutnya.

Panduan Referensi Filesystem PHP

Untuk panduan referensi penuh tentang sistem berkas PHP, kunjungi yang disediakan CodeW3C.com Panduan Referensi Filesystem PHP.