Fitur import CSV CodeIgniter memudahkan memasukkan data dalam jumlah besar ke database sekaligus — misalnya daftar produk atau kontak dari file Excel yang disimpan sebagai CSV. Panduan ini menunjukkan cara membaca file CSV dan menyimpannya secara efisien.
Membaca File CSV
Gunakan fungsi PHP fgetcsv() yang otomatis memecah setiap baris CSV menjadi array kolom:
<?php
$file = $_FILES['csv']['tmp_name'];
$handle = fopen($file, 'r');
$baris = 0;
$data = array();
while (($kolom = fgetcsv($handle)) !== FALSE) {
if ($baris == 0) { $baris++; continue; } // lewati baris header
$data[] = array(
'nama' => $kolom[0],
'email' => $kolom[1]
);
$baris++;
}
fclose($handle);
?>
Perhatikan pengecekan baris pertama — biasanya berisi judul kolom (header) yang perlu dilewati.
Menyimpan Massal dengan insert_batch
Alih-alih menyimpan satu per satu (lambat), gunakan insert_batch() yang menyimpan semua data dalam satu query efisien:
<?php
if (!empty($data)) {
$this->db->insert_batch('pengguna', $data);
echo count($data) . " baris berhasil diimpor";
}
?>
Kenapa insert_batch Lebih Baik?
Bayangkan mengimpor 1.000 baris. Dengan insert biasa, itu berarti 1.000 query ke database — sangat lambat. Dengan insert_batch(), semuanya digabung menjadi satu query, jauh lebih cepat dan efisien.
Kesimpulan
Dengan import CSV CodeIgniter dan insert_batch(), ribuan baris data dapat dimasukkan dengan cepat. Jangan lupa melewati baris header dan memvalidasi data sebelum menyimpannya.
Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi CodeIgniter.

