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
php data array
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";
}
?>

tampilan script diatas
array jadi multidimensional array

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";
}
?>

ambil dua data

Join the Conversation

1 Comment

Your email address will not be published. Required fields are marked *

  1. 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