Cara Import File CSV ke Database MySQL di CodeIgniter

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.

Baca Juga

Ali Akbar

Software Developer yang fokus mengembangkan aplikasi berbasis Web dan Desktop. Senang mempelajari teknologi baru terutama di bidang web design dan web development.

View all posts by Ali Akbar →

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *