Cara Menguji Apakah Seluruh Karakter di Dalam File Telah Terbaca atau Belum Menggunakan Fungsi Feof() Pada Bahasa Pemrograman PHP

Saat membuat program PHP, barangkali kita perlu tahu tentang apakah semua karakter yang tertulis pada file telah terbaca seluruhnya atau belum. Bahasa pemrograman PHP menyediakan fungsi feof(). Bagaimana cara penggunaannya? Untuk lebih jelasnya, bisa simak artikel ini.


Kodefungsi.com -

Melalui pemrograman PHP, kita bisa membaca isi file.

Pembacaan isi file menggunakan bantuan pointer, dimana pointer itu bergerak menuju setiap karakter yang ada, sesuai dengan perintah yang programmer tulis. 

Tujuan kita adalah ingin tahu apakah pointer tersebut sudah selesai membaca seluruh isi file atau belum..

Pada bahasa pemrograman PHP, memiliki fungsi feof() yang bisa dipakai untuk menguji apakah seluruh karakter telah dibaca atau belum. 

Misalkan kita punya kalimat yang tertulis di dalam file informasi.txt yaitu 

Hallo, Apa Kabar?

 

Sebelum kita mencobakan fungsi feof() , lebih enaknya kita perlu tahu jumlah karakter pada kalimat.

Setelah dihitung secara manual, ada 17 karakter (karakter spasi juga dihitung).

Sedangkan karakter terakhir dari kalimat itu ditempati oleh karakter "?" yang letaknya pada posisi ke-17.

Cara kerja fungsi feof() adalah jika pointer sudah selesai membaca seluruh karakter pada kalimat, maka pointer akan mengakhirinya dengan bergerak menuju urutan terakhir karakter + 1.

Pada contoh, karakter terakhir ada pada urutan ke-17, maka nanti sebagai petunjuk tanda pointer telah selesai membaca seluruh karakter adalah pointer akan menunjuk urutan ke-18.

Mari kita coba eksekusi contoh program PHP berikut ini.

//contoh 1

//inisialisasi direktori file
$direktori_file = "contoh_file/informasi.txt";

//buka file dari $direktori untuk tujuan read
$buka_file = fopen($direktori_file, "r");


//baca isi file hingga karakter ke-13
$baca_file = fread($buka_file, 13);

//tampilkan isi file
echo $baca_file;

//uji pointer
echo feof($buka_file);

//tutup file
fclose($buka_file);

 

Contoh 1, pertama diinisialisasi variabel $direktori_file

Variabel tersebut diisi oleh nilai "contoh_file/informasi.txt", merupakan direktori  file yang akan kita baca berada. I

si yang kita tulis pada file informasi.txt itu adalah "Hallo, Apa Kabar?"

Kemudian, sebelum dibaca, file itu kita buka dulu dengan menggunakan fungsi fopen(), kode program yang kita gunakan adalah fopen( $direktori_file, "r" ),

Hasilnya disimpan pada variabel $buka_file

Setelah file dibuka, barulah file itu dibaca dengan menggunakan fungsi fread(),

Kode program yang kita gunakan adalah fread( $buka_file, 13 ).

Hasilnya disimpan dulu pada variabel $baca_file.

Nilai 13 pada parameter inputan menunjukkkan bahwa kita memerintahkan fungsi agar menggerakkan pointer untuk membaca karakter hingga urutan karakter ke-13.

Kalau kita ingin tahu apa hasil dari pembacaan file tersebut, dan ingin ditampilkan, maka kita gunakan kode program echo $baca_file.

Hasilnya nanti adalah "Hallo, Apa Ka". Dimana yang ditampilkan hanya 13 karakter saja, sesuai dengan perintah yang kita input pada parameter..

Nah, sekrang baru kita akan masuk ke inti persoalan pada artikel ini, yaitu kita coba cari tahu apakah pointer sudah membaca seluruh karakter yang tertulis di dalam file tersebut atau belum?

Untuk melakukan itu, barulah kita gunakan bantuan fungsi feof(),

Kode program yang kita gunakan adalah feof( $buka_file ).

Kalau kita ingin langsung tampilkan hasilnya pada halaman web, maka kita gunakan kode program echo feof( $buka_file ).

Hasil setelah dieksekusi adalah "" (null) alias false, atau belum semua karakter dibaca oleh pointer.

Karena memang pointer hanya membaca sampai karakter ke-13 saja, dari total keseluruhan 17 karakter.

Sebaliknya, jika seluruh karakter dibaca oleh pointer, maka hasil keluarannya adalah "1" alias true.

 

Selanjutnya, kita coba contoh lain, 

 

//contoh 2

//inisialisasi direktori file
$direktori_file = "contoh_file/informasi.txt";

//buka file dari $direktori
$buka_file = fopen($direktori_file, "r");


//baca isi file
$baca_file = fread($buka_file, 18);

//tampilkan isi file
echo $baca_file;

//uji pointer file
echo feof($buka_file);

//tutup file
fclose($buka_file);

 

Pada contoh 2, kita coba dengan bentuk lain,

Pertama diinisialisasi variabel  $direktori_file dengan nilai "contoh_file/informasi.txt", merupakan direktori file.

Sedangkan isi file adalah "Hallo, Apa Kabar?". 

Kemudian kita buka file itu dengan kode program fopen( $direktori_file, "r" ).

Hasilnya disimpan dulu pada variabel $buka_file.

Kemudian, isi file dibaca dengan menggunakan kode program fread( $buka_file, 18 ).

Hasilnya disimpan pada variabel $baca_file.

Nah, pada contoh 2, parameter inputan kedua pada fungsi fread() ditulis dengan nilai 18. Itu artinya fungsi diperintahkan untuk membaca isi file hingga karakter ke-18, sehingga pointer akan bergerak hingga karakter ke-18.

Kalau kita ingin tahu apa hasil dari pembacaan file itu, maka kita coba tampilkan dengan kode program echo $baca_file.

Hasil keluarannya adalah "Hallo, Apa Kabar?".

Sekarang kita ingin mengetahui atau menguji apakah pointer sudah membaca seluruh karakter yang ada pada file atau belum. Untuk itu kita coba tampilkan dengan gunakan kode program echo feof( $buka_file ),

Hasil keluarannya adalah  "1" alias true. Itu berarti bahwa pointer sudah membaca seluruh karakter hingga bagian akhir dari isi file.

Demikian pemaparan singkat tentang cara menguji apakah pointer sudah membaca seluruh isi file atau belum. Semoga artikel ini bermanfaat. Selamat belajar PHP.

 

Artikel ini ditulis oleh | | Dikunjungi 1 pengunjung unik per hari

>