2017-01-20 9 views
0

vCardを作成する最適な方法は何ですか?私は私のサーバーにそれを保存する必要はありません、ちょうどそれをダウンロードしたいときに生成してください。以下のコードは動作しますが、それは私にとって不器用なようですが、よりよい方法はありますか?動的にvCardを作成する

<?php 
function raf_create_vcard(){ 
$format_name = utf8_encode($name); 
$format_email = utf8_encode($email); 
$format_tel = utf8_encode($tel); 
$format_fax = utf8_encode($fax); 
$format_www = utf8_encode($www); 
$format_address = utf8_encode($address); 

return 'BEGIN%3AVCARD%0D%0AVERSION%3A4.0%0D%0AN%3A%3B'.$format_name.'%3B%3B%3B%0D%0AFN%3A'.$format_name.'%0D%0AEMAIL%3A'.$format_email.'%0D%0AORG%3A'.$format_name.'%0D%0ATEL%3A'.$format_tel.'%0D%0ATEL%3Btype%3DFAX%3A'.$format_fax.'%0D%0AURL%3Btype%3Dpref%3A'.$format_www.'%0D%0AADR%3A%3B'.$format_address.'%3B%3B%3B%3B%3BSpain%0D%0AEND%3AVCARD'; 
} 
?> 

生成リンク:あなたがそのようにそれを書くことができ、ライブラリなし

<a href="data:text/plain;charset=UTF-8,<?php echo raf_create_vcard(); ?>" download="contact.vcf">Download</a> 

答えて

0

function raf_create_vcard(){ 
    return utf8_encode('BEGIN:VCARD 
     VERSION:4.0 
     N:;'.$name.';;; 
     FN:'.$name.' 
     EMAIL:'.$email.' 
     ORG:'.$name.' 
     TEL:'.$tel.' 
     TEL;type=FAX:'.$fax.' 
     URL;type=PREF:'.$www.' 
     ADR:;'.$address.';;;;;Spain 
     END:VCARD'); 
} 

しかし、あなたはその目的のためのPHPライブラリを使用する必要があります。これをチェックしてください:https://github.com/jeroendesloovere/vcard

use JeroenDesloovere\VCard\VCard; 

$vcard = new VCard(); 

$vcard->addName($name); 
$vcard->addCompany($name); 
$vcard->addEmail($email); 
$vcard->addPhoneNumber($tel); 
$vcard->addPhoneNumber($fax, 'FAX'); 
$vcard->addURL($www, 'PREF'); 
$vcard->addAddress($address, null, null, null, null, null, 'Spain'); 

$vcardAsString = $vcard->getOutput(); 
関連する問題