Dalam tutorial php kali ini, saya akan membahas bagaimana cara membuat script PHP untuk mengenerate sebuah file text kemudian langsung mendownload file tersebut di browser. Konsep ini biasa dipakai dalam sebuah aplikasi khususnya untuk fitur backup data atau export data, di mana data-data tersebut akan diletakkan atau dipindah ke dalam file text tersebut, selanjutnya bisa didownload langsung melalui browser.
Perhatikan contoh penerapannya pada gambar berikut ini.

Dari ilustrasi gambar di atas, tampak bahwa file text digenerate dan akan langsung didownload melalui browser ketika suatu link diklik. Selain melalui link, bisa juga nanti proses generatenya melalui tombol/button. Selanjutnya bagaimana cara membuat script PHP seperti contoh tersebut? OK ini dia pembahasannya.
Untuk mengenerate file text dengan PHP amat sangat mudah sekali caranya. Berikut ini contoh script sederhananya:
<?php header("Content-type: text/plain"); header("Content-Disposition: attachment; filename=fileku.txt"); echo "Hallo apa kabar???"; ?>
Apabila script di atas dijalankan di browser, maka secara otomatis akan mengenerate sebuah file text bernama ‘fileku.txt’, dan apabila didownload kemudian dibuka lewat notepad atau sejenisnya maka berisi teks ‘Hallo apa kabar???’
Keterangan:
Perintah header("Content-type: text/plain");
merupakan header MIME (Multipurpose Internet Mail Extensions) untuk file text atau plain text.
Sedangkan berikut ini contoh script PHP untuk mengenerate file text yang berisi beberapa baris teks
<?php header("Content-type: text/plain"); header("Content-Disposition: attachment; filename=fileku.txt"); echo "Hallo apa kabar???\r\n"; echo "Nama saya Rosihan Ari Yuana\r\n"; echo "Siapa nama Anda?"; ?>
Keterangan:
Karakter \r\n
merupakan karakter untuk ganti baris (new line).
Adapun gambar berikut ini adalah tampilan isi file fileku.txt yang digenerate dari script di atas.
Mudah bukan membuatnya? Nah untuk artikel selanjutnya akan kita sambung topik ini, yaitu penerapan generate file text untuk keperluan backup data dari database. Insya Allaah… 🙂