Contoh data vcard yang akan diolah
BEGIN:VCARD VERSION:3.0 N:;Nama1;;; FN:NamaLengkap1 TEL;TYPE=CELL:082111111111 END:VCARD BEGIN:VCARD VERSION:3.0 N:;Nama2;;; FN:NamaLengkap2 TEL;TYPE=CELL:082111111112 END:VCARD BEGIN:VCARD VERSION:3.0 N:;Nama3;;; FN:NamaLengkap3 TEL;TYPE=CELL:082111111113 END:VCARD BEGIN:VCARD VERSION:3.0 N:;Nama4;;; FN:NamaLengkap4 TEL;TYPE=CELL:082111111114 END:VCARD BEGIN:VCARD VERSION:3.0 N:;Nama5;;; FN:NamaLengkap5 TEL;TYPE=CELL:082111111115 END:VCARD
simpan sebagai kontak.vcf
Untuk mengolah file kontak.vcf
diatas, buat sebuah file baru dengan nama parse_vcard.php
yang isinya
<?php // ambil file kontak.vcf $vcard = @file_get_contents('kontak.vcf'); if ($vcard) { echo "filenya ada"; var_dump($vcard); } else { echo "file ga ditemukan"; } ?>
coba jalankan script diatas, bila yang muncul filenya ada berarti bisa dilanjut ke tahap selanjutnya. Variabel $vcard
diatas masih dalam bentuk string, kita akan mengubahkan menjadi array untuk mempermudah pengolahan datanya. Ubah code diatas menjadi
<?php // ambil file kontak.vcf $vcard = @file_get_contents('kontak.vcf'); if ($vcard) { $pemisah = explode(PHP_EOL ,$vcard); print_r(array_chunk($pemisah, 6)); } else { echo "file ga ditemukan"; } ?>
Tampilan script diatas setelah dijalankan
Format file vcard diatas bila dilihat memiliki jumlah baris yang sama (6 baris) yang berada diantara BEGIN:VCARD
dan END:VCARD
. Pecah array tersebut menjadi beberapa array dengan array_chunk
, sehingga code diatas menjadi
<?php // ambil file kontak.vcf $vcard = @file_get_contents('kontak.vcf'); if ($vcard) { $pemisah = explode(PHP_EOL ,$vcard); $data = array_chunk($pemisah, 6); } else { echo "file ga ditemukan"; } ?>
Contoh kita mau mengambil dua data dari array diatas, yaitu array ke 3 dan empat, modifikasi code nya menjadi
<?php // ambil file kontak.vcf $vcard = @file_get_contents('kontak.vcf'); if ($vcard) { $pemisah = explode(PHP_EOL ,$vcard); $data = array_chunk($pemisah, 6); foreach ($data as $row => $value) { echo $value[3] . "<br>"; echo $value[4] . "<hr>"; } else { echo "file ga ditemukan"; } ?>
how to do this if vcard uploaded in database by mysql and php ?
I need this for my addressbook
i want to upload vcard vcf to database