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]
- $file = 'file.txt'; // file
- $length = filesize($file); // panjang (Bytes)
- fh = fopen($file, 'r'); // file handle (r: read)
- $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]
- fh = fopen('http://www.example.com/file.txt', 'r'); // file handle (r: read)
- $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]
- $file = 'file.txt'; // file
- $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]
- $file = 'file.txt'; // file
- $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]
- readfile('style.css');
- header('Content-Type: image/png');
- readfile('image.png');
Details: http://php.net/manual/en/function.readfile.php
Hanya sekedar catatan jika sewaktu-waktu lupa. Hehehe. CMIIW.