Penggunaan fungsi FPUTCSV pada PHP

image by techjoomla

Dalam Cara export file csv menggunakan PHP ini saya akan menggunakan fungsi dari php yaitu fputcsv[]. Cara ini gak ribet-ribet amat sebenernya, namun dalam pengembangan web application kita biasanya sering butuh fungsi ini untuk rekap laporan dan data lainnya yang butuh di unduh dari web application yang kita buat.

Kenapa saya buat tutorial ini, karena terinspirasi dari pengalaman ketika mengerjakan projek sistem perpajakan suatu Institut terkenal di Bandung. Data-data yang diolah di aplikasi harus di ekspor dan diimpor ke aplikasi E-SPT dari Direktorat Jendral Pajak. Banyak sebenernya tutorial seperti ini di google, tapi akan lebih mantap bukan kalo saya tulis sendiri tutorialnya versi saya? hehe

Definisi Fungsi fputcsv[]

The fputcsv[] function formats a line as CSV and writes it to an open file. This function returns the length of the written string, or FALSE on failure

Kalimat di atas saya kutip dari webnya w3schools, jadi kurang lebih fungsi ini dapat memformat baris menjadi CSV dan menulisnya kedalam file yang telah kita tentukan. Fungsi ini akan memiliki nilai balik [return] berupa panjang string yang ditulis kedalam CSV atau FALSE ketika terjadi kesalahan.

Cara Pakai fputcsv[]


int fputcsv [ resource $handle , array $fields [, string $delimiter = "," [, string $enclosure = '"' [, string $escape_char = "\\" ]]] ]

Ketika kita memanggil fungsi fputcsv maka kita harus memasukan beberapa parameter yang dibutuhkan, yaitu handle atau file yang akan kita gunakan untuk menulis CSV, kedua field atau teks yang akan kita tulis kedalam CSV. ketiga delimiter yaitu pemisah setiap kolomnya. keempat enclosure yaitu karakter yang akan digunakan untuk mengapit setiap kolom, ini opsional, secara default digunakan ["].

Contoh 1 : Menulis CSV ke media penyimpanan server


$list = array [
    array['Nama Depan', 'Nama Belakang', 'Jenis Kelamin', 'Status'],
    array['Ahmad', 'Zainal', 'Laki-laki', 'Single'],
    array['Bambang', 'Setiawan', 'Laki-laki', 'Jomblo']
];

$fp = fopen['file.csv', 'w'];

foreach [$list as $fields] {
    fputcsv[$fp, $fields];
}

fclose[$fp];

Kode diatas akan menghasilkan file.csv yang berisi data-data yang ada di variable $list kemudian menyimpan file.csv di direktori aktif server.

Contoh 2 : Menulis CSV ke media penyimpanan client



$filename = 'FILE.csv';
header[ 'Content-Type: text/csv' ];
header[ 'Content-Disposition: attachment;filename='.$filename];
$list = array [
array['Nama Depan', 'Nama Belakang', 'Jenis Kelamin', 'Status'],
array['Ahmad', 'Zainal', 'Laki-laki', 'Single'],
array['Bambang', 'Setiawan', 'Laki-laki', 'Jomblo']
];
$fp = fopen['php://output', 'w'];
foreach [$list as $fields] {
fputcsv[$fp, $fields];
}
fclose[$fp];

Kode diatas akan menulis file CSV dan kemudian menjadikannya downloadable file, jadi nanti si browser clientnya langsung download file yang ditulis. Karenanya kita kita pake hanlde nya php output kemudian menuliskan header kepada client bahwa ini adalah file bukan dokumen html untuk ditampilkan.

Mudah bukan? mudah dong.

Kode diatas hanya kode dasar saja, kalian bisa kembangkan lagi. happy kodingsanasini~

[PHP 5 >= 5.1.0, PHP 7, PHP 8]

fputcsvFormat line as CSV and write to file pointer

Description

fputcsv[
    resource $stream,
    array $fields,
    string $separator = ",",
    string $enclosure = "\"",
    string $escape = "\\",
    string $eol = "\n"
]: int|false

Parameters

stream

The file pointer must be valid, and must point to a file successfully opened by fopen[] or fsockopen[] [and not yet closed by fclose[]].

fields

An array of strings.

separator

The optional separator parameter sets the field delimiter [one single-byte character only].

enclosure

The optional enclosure parameter sets the field enclosure [one single-byte character only].

escape

The optional escape parameter sets the escape character [at most one single-byte character]. An empty string [""] disables the proprietary escape mechanism.

eol

The optional eol parameter sets a custom End of Line sequence.

Note:

If an enclosure character is contained in a field, it will be escaped by doubling it, unless it is immediately preceded by an escape.

Return Values

Returns the length of the written string or false on failure.

Changelog

VersionDescription
8.1.0 The optional eol parameter has been added.
7.4.0 The escape parameter now also accepts an empty string to disable the proprietary escape mechanism.

Examples

Example #1 fputcsv[] example

Bài mới nhất

Chủ Đề