Blog Posts » PHP » [PHP] Cara Membaca File

[PHP] Cara Membaca File

Membaca file sebagai bisa dilakukan dengan beberapa cara:

1. fread()
Fungsi ini "binary-safe" yaitu mampu membaca / meng-interpretasikan file text maupun biner sebagaimana mestinya.

[Textarea][RAW][Download]

  1. $file = 'file.txt'; // file
  2. $length = filesize($file); // panjang (Bytes)
  3. fh = fopen($file, 'r'); // file handle (r: read)
  4. $contents = fread($fh$length); // hasil


Nilai $length bisa juga diganti manual misal jika cuma ingin membaca 5 huruf (Bytes) dikasih angka 5.

Details: http://php.net/manual/en/function.fread.php

2. stream_get_contents()
Fungsi ini hampir sama dengan fread() tetapi bisa digunakan untuk membaca remote file, misal dari popen() atau fsockopen().

[Textarea][RAW][Download]

  1. fh = fopen('http://www.example.com/file.txt', 'r'); // file handle (r: read)
  2. $contents = stream_get_contents($fh); // hasil


Details: http://php.net/manual/en/function.stream-get-contents.php

3. file_get_contents()
Cara ini paling simple. Bisa digunakan untuk membuka local maupun remote file. Tersedia opsi "offset" untuk membaca range bytes file. Berguna saat ingin membaca byte tertentu pada file besar.

[Textarea][RAW][Download]

  1. $file = 'file.txt'; // file
  2. $contents = file_get_contents($file); // hasil


Details: http://php.net/manual/en/function.file-get-contents.php

4. file()
Fungsi ini menghasilkan array yang didalamnya berisi baris demi baris. Maka untuk mengambil semuanya bisa dibantu dengan fungsi implode(). Hati-hati menggunakan fungsi ini karena memuat file sepenuhnya ke memory untuk dijadikan array. Cara ini cocok untuk membaca file skala kecil.

[Textarea][RAW][Download]

  1. $file = 'file.txt'; // file
  2. $contents = implode(file($file)); // hasil


Details: http://php.net/manual/en/function.file.php

5. readfile()
Membaca file sekaligus mengirimnya ke output buffer atau "echo". Cara ini lebih efisien daripada menggunakan file_get_contents() lalu echo.

[Textarea][RAW][Download]

  1. readfile('style.css');


[Textarea][RAW][Download]

  1. header('Content-Type: image/png');
  2. readfile('image.png');


Details: http://php.net/manual/en/function.readfile.php

Hanya sekedar catatan jika sewaktu-waktu lupa. Hehehe. CMIIW.