Saturday, October 25, 2014

Cara Menulis Ke Dalam File Dengan PHP

Selain bisa membaca dan mengambil data dari file, kita juga bisa menulis ke dalam file dengan script PHP. Dalam hal ini kita tetap harus membuka dan menutup file sebelum dan sesudah proses penulisan ke dalam file. Ada beberapa fungsi pada PHP yang bisa dipakai untuk menulis ke dalam file, diantaranya fungsi fwrite(), fungsi fputs() dan fungsi file_put_contents(). Untuk dapat menulis ke dalam file, kita harus membuka file dengan mode w atau a.

Beberapa hal yang perlu diperhatikan saat menuliskan ke dalam file dengan PHP:

  1. Dalam pengunaan mode w pada fungsi fopen harus berhati-hati karena mode w akan menghapus keseluruhan isi file sebelumnya. Jadi sebaiknya mode "w" hanya digunakan untuk menulis file baru saja bukan untuk menambahkan isi file.
  2. Gunakan selalu mode "a" jika hanya ingin menambahkan isi file.
  3. Pastikan file yang akan di tulis berada di server dan sudah diset file permissionnya dengan nilai 777. Jika tidak akan terjadi error.
  4. Sebaiknya gunakan validasi terhadap isi text yang akan ditulis ke dalam file.

Fungsi Fputs() dan Fwrite()

Adalah fungsi yang digunakan untuk menulis ke file yang sedang dibuka. Fungsi fputs() merupakan alias atau nama lain dari fungsi fwrite(). Fungsi ini akan berhenti pada akhir file (end-of-file) atau pada panjang yang telah ditentukan. Jika berhasil, fputs() dan fwrite() akan mengembalikan jumlah byte yang ditulis dan jika gagal akan mengemblikan nilai FALSE.

Cara penulisan fungsi fputs() dan fwrite()

fputs(file,string,panjang)

atau 

fwrite(file,string,panjang)

Keterangan : 

  • file, wajib diisi. Merupakan file handler yang akan ditulisi.
  • string, wajib diisi. Merupakan text yang akan ditulis ke dalam file.
  • panjang, opsional/tidak wajib diisi. Merupakan nilai untuk mengeset nilai maksimum byte yang akan ditulis ke dalam file.

Contoh penggunaan fungsi fputs() dan fungsi fwrite() pada fopen() dengan mode "w"

Pada cara ini teks yang tersimpan pada file sebelumnya akan dihapus dan diganti dengan teks yang baru dimasukkan.

1. Persiapan:
  • Buat file baru lalu taruh dalam satu folder dengan script PHP, misalnya kita beri nama coba.txt.
  • Isi file coba.txt tadi dengan beberapa teks, misal="Ini adalah isi file sebelumnya"
  • Simpan file tersebut dan tutup text editor.
  • Untuk pengguna Linux, ubah file permission dengan cara mengetik perintah berikut ini pada terminal
    sudo chmod 777 coba.txt
2. Buat file PHP dengan isi berikut ini pada text editor, lalu simpan :
<body> 
<form enctype="multipart/form-data" action="" method="POST">
    <textarea cols="30" rows="5" name="text"></textarea>
    <input type="submit" name="enter" value="Simpan" />
</form>  
<?php
if(isset($_POST["enter"]))
{
    $text=$_POST["text"];
    $file = fopen("coba.txt","w");    
    if($file)
    {
    fputs($file,$text);
    }
    fclose($file); 
}  
    echo "<b></b>Isi dari file coba.txt sekarang:</b><br />";
    $file = fopen("coba.txt","r");    
    while(! feof($file))    
    {    
        echo fgets($file). "<br />";    
    }    
    fclose($file); 
?>    
</body>     
</html> 
3. Jalankan file PHP tersebut pada browser, pastikan tampil seperti ini:

menulis-text-ke-dalam-file-1

4. Masukkan text pada textarea, misal: "Ini adalah teks yang baru dimasukkan"

menulis-text-ke-dalam-file-2

5. Klik tombol Simpan, pastikan isi dari file coba.txt sekarang menjadi seperti ini:

menulis-text-ke-dalam-file-3

Contoh penggunaan fungsi fputs() dan fungsi fwrite() pada fopen() dengan mode "a"

Pada cara ini teks yang tersimpan pada file sebelumnya tidak dihapus namun akan ditambahkan dengan teks yang baru dimasukkan.

1. Persiapan (tidak perlu dijalankan jika sudah pernah dilakukan pada contoh pertama):
  • Buat file baru lalu taruh dalam satu folder dengan script PHP, misalnya kita beri nama coba.txt.
  • Isi file coba.txt tadi dengan beberapa teks, misal="Ini adalah isi file sebelumnya"
  • Simpan file tersebut dan tutup text editor.
  • Untuk pengguna Linux, ubah file permission dengan cara mengetik perintah berikut ini pada terminal
    sudo chmod 777 coba.txt
2. Buat file PHP dengan isi berikut ini pada text editor, lalu simpan :
<body> 
<form enctype="multipart/form-data" action="" method="POST">
    <textarea cols="30" rows="5" name="text"></textarea>
    <input type="submit" name="enter" value="Tambahkan" />
</form>  
<?php
if(isset($_POST["enter"]))
{
    $text=$_POST["text"];
    $file = fopen("coba.txt","a");    
    if($file)
    {
    fputs($file,"\n".$text);
    }
    fclose($file); 
}  
    echo "<b></b>Isi dari file coba.txt sekarang:</b><br />";
    $file = fopen("coba.txt","r");    
    while(! feof($file))    
    {    
        echo fgets($file). "<br />";    
    }    
    fclose($file); 
?>    
</body>     
</html> 
3. Jalankan file PHP tersebut pada browser, pastikan tampil seperti ini:

menulis-text-ke-dalam-file-1

4. Masukkan text pada textarea, misal: "Ini teks yang ditambahkan"

menulis-text-ke-dalam-file-4

5. Klik tombol Simpan, pastikan isi dari file coba.txt sekarang menjadi seperti ini:

menulis-text-ke-dalam-file-5


Untuk penggunaan fungsi fwrite sama dengan fputs, tinggal ganti saja fputs pada contoh dengan fwrite. Dan untuk fungsi file_put_contents() insyaAllah akan ditulis pada artikel selanjutnya.

Referensi :

2 komentar:

  1. Terima kasih ilmunya sob.
    Ada pertanyaan sedikit ne, bagaimana agar yang baru di tulis di file coba.txt itu di simpan paling atas, soalnya saya coba tapi yang barunya malah dibawah.

    ReplyDelete
  2. Matur nuwun,Gan utk tutorial menulis ke dalam file PHP

    ReplyDelete