Cara menggunakan read file php

Cara menggunakan read file php

Bismillaahirrohmaanirrohiim…

Berikut ini adalah cara membaca string per baris atau line by line

Cara 1:

$isi = 'ini isi string banyak';
foreach(preg_split("/((\r?\n)|(\r\n?))/", $isi) as $line){
    echo $line;
    echo '<br />';
}

Cara 2:

$isi = 'ini isi string banyak';
$separator = "\r\n";
$line = strtok($isi, $separator);

while ($line !== false) {
    $line = strtok( $separator );
    echo $line; 
    echo '<br />'; 
}

Cara 3:

$isi = 'ini isi string banyak';
$lines = explode(PHP_EOL, $isi);

Cara 4:

$isi = 'ini isi string banyak';
line = strtok($isi, PHP_EOL);
while ($line !== FALSE) {
  $line = strtok(PHP_EOL);
  echo $line; 
  echo '<br />'; 
}
strtok('', '');//kl string besar, free up memory

Sedangkan fungsi dibawah ini, membaca file per baris atau line by line dengan PHP

Cara 1:

$lines = file( $pathtofile );

 foreach ( $lines as $line ) {
   //baca disini
 }

Cara 2:

 $handle = fopen("namafile.txt", "r");
if ($handle) {
    while (($line = fgets($handle)) !== false) {
        //baca disini
    }

    fclose($handle);
} else {
    // error buka file.
} 

Cara 3:

if ($file = fopen("namafile.txt", "r")) {
    while(!feof($file)) {
        $line = fgets($file);
        //baca disini
    }
    fclose($file);
}

Demikian tadi cara membaca file atau string secara line by line atau per baris dengan PHP.

Baca Juga:   Mengenal session.gc_maxlifetime di PHP

Semoga bermanfaat.

Bagikan

Kita dapat menggunakan fungsi fread untuk membaca suatu file dalam PHP. Misalnya kita mempunyai file teks bernama myfile.txt yang hanya mengandung 4 baris berikut:


Ini string baris #1
Ini string baris #2
Ini string baris #3
Ini string baris #4

Fungsi fread memerlukan parameter berupa suatu file handle dan jumlah dari byte yang akan dibaca. Begini contohnya:

<?php
$file = fopen("myfile.txt","r");
$filedata = fread($file,5);
fclose($file);
echo $filedata; 
?>

Saat dipanggil melalui web browser, diperoleh hasil:

Ini s

Mengapa? Berikut ini adalah apa yang kita tetapkan pada program di atas:

• Pertama, buat sebuah file handle bernama $file dan bukan file bernama myfile.txt dalam modus read.
• Buat suatu variabel bernama $filedata yang akan menyimpan 5 karakter pertama data dari file handle.
• Tutup file handle
• Tampilkan data ke layar (browser).

Masih kurang? Contoh di bawah ini menggunakan filesize untuk mendapatkan ukuran dari file dan kemudian menampilkan semua data di dalamnya:

<?php
$testfile = "myfile.txt"; 
$file = fopen($testfile,"r");
$filedata = fread($file,filesize($testfile));
fclose($file);
echo $filedata; 
?>

Hasil di browser adalah sebaris teks:

Ini string baris #1 Ini string baris #2 Ini string baris #3 Ini string baris #4

Bagaimana agar tampilannya menjadi 4 baris seperti yang diharapkan? Baca artikel tentang “PHP: Baca File per Baris”.

Apa yang terjadi jika baris ketiga di atas diganti dengan:

$filedata = fread($file,1024);

Perintah di atas membaca 1 KB pertama dari apa yang terdapat di dalam file yang ditunjuk oleh file handle $file.

Langkah pertama dalam membaca file di PHP adalah membuka file menggunakan perintah fopen yang parameternya adalah nama file yang akan dibuka dan atribut (tanda) yang menunjukkan akan diapakan file yang terbuka nanti, ditulis, dibaca atau ditambahkan data baru. Membaca file seperti sebelumnya hanya berdasarkan byte, bagaimana agar dapat membaca per baris?


Fungsi fgets()

Fungsi fgets() digunakan untuk membaca sebaris data dari file. Menggunakan fungsi ini kita juga dapat membaca sejumlah karakter dalam file. Bentuk dari fungsi ini adalah

fgets ($handle, $length);

Parameter pertama adalah file handle atau pointer ($handle) dan kedua adalah (opsional) jumlah byte ($length) yang akan dibaca dalam sekali panggil. Jika parameter kedua dikosongkan, fungsi akan membaca sampai akhir baris.

Catatan:
Jika panjang baris lebih dari 1024 karakter, sebaiknya membaca maksimum 1024 karakter terlebih dahulu agar lebih hemat memory.

Berikut ini adalah beberapa contoh.

Membaca baris teks

Kode berikut membaca satu baris lengkap dari suatu file dan menyimpannya dalam format string. Script pertama menempatkan pointer pada awal file, dan kemudian membaca baris pertama:

<?php
$fh = fopen("myfile.txt", "r");

$line = fgets($fh);
echo $line;

fclose($fh);
?>

Terlihat jelas perintah fgets tidak menerima parameter kedua, tidak ditentukan berapa panjang baris akan dibaca alias dibaca lengkap.

Ingat, modus ‘r’ berarti bahwa file yang dibuka hanya untuk dibaca.

Membaca Sejumlah Byte

Mirip seperti tulisan sebelumnya yang menggunakan perintah fread untuk membaca file, kali ini mendapatkan sekian byte string dari file menggunakan perintah fgets.

<?php
$fh = fopen("myfile.txt", "r");

$str = fgets($fh, 16);
echo $str;

$line2 = fgets($fh, 16);
echo $str;

fclose($fh);
?>

Kode di atas membaca 16 karakter pertama dan kemudian membaca 16 karakter berikutnya, kemungkinan masih pada baris yang sama, jika panjang teks lebih atau sama dengan 32 karakter.

Membaca Baris demi Baris

Fungsi fgets dapat pula digunakan untuk membaca baris demi baris string dalam file secara lengkap, cukup dikombinasikan dengan pernyataan while untuk mendeteksi apakah pointer telah sampai di akhir file.

Contoh 1:

<?php
$fh = fopen("myfile.txt", "r");

while(true)
{
	$line = fgets($fh);
	if($line == null)break;

	echo $line;
}

fclose($fh);
?>

Contoh 2, apa bedanya?:

<?php
$fh = fopen("myfile.txt", "r");

while (!feof($fh)) {
	$line = fgets($fh);
	echo $line;
}

fclose($fh);
?>

Membaca isi file sekaligus

Kita juga dapat membaca suatu file dalam sekali. Perintah yang dapat digunakan, selain fread yang dikombinasikan dengan filesize, juga file_get_contents().

Contohnya adalah sebagai berikut:

<?php
$fh = fopen("myfile.txt", "r");

$file = file_get_contents("myfile.txt");
echo $file;
?>

Kode di atas akan membaca seluruh isi file myfile.txt dan menyimpannya ke dalam varibel string $file. Hati-hati, jika anda membaca file yang berukuran sangat besar…sangat dianjurkan untuk tidak membacanya sekaligus. Pengunjung web anda tentu akan kelamaan menanti jika script membaca file berukuran di atas 1 MB, dan mungkinkah pula web browsernya hang? 🙂

Membuka file PHP dengan apa?

Berkas PHP akan dibuka di jendela Notepad++ sehingga Anda bisa melihat kode berkas dan melakukan penyuntingan yang diperlukan. Jika Anda perlu menyunting berkas PHP, tekan tombol Ctrl + S untuk menyimpan perubahan sebelum keluar dari program Notepad++.

Apa itu read file?

Pada dasarnya fungsi readfile() adalah untuk membaca suatu file text secara keseluruhan dengan PHP lalu menyimpannya ke dalam buffer. Untuk menampilkan isi buffer tersebut, kita dapat menggunakan echo. Fungsi readfile() ini menampilkan seluruh isi text termasuk spasi dan karakter enter dan juga jumlah karakternya.

Apa perbedaan fungsi fread dan fgets pada manipulasi file?

Bedanya? Jika menggunakan fread() berarti kita akan membaca konten dari suatu file sesuai dengan ukuran byte yang kita definisikan. Sedangkan jika menggunakan fungsi fgets() , maka kita membaca konten perbaris.

Pada pemrograman PHP Perintah apa yang digunakan untuk memasukkan isi dari satu file ke dalam file PHP?

Fungsi include() dan require() adalah suatu perintah atau fungsi di dalam pemrograman PHP untuk menyisipkan sebuah file PHP kedalam file PHP yang lainnya.