首页 > PHP教程 > php开发知识文章

php读取vcf通讯录格式文件的方法

这篇文章主要介绍了php读取vcf通讯录格式文件的方法,结合具体实例形式分析了php自定义函数读取vcf格式文件的具体实现方法与相关注意事项,需要的朋友参考下

VCF文件格式是WINDOWS视窗系统"通讯薄"用户的存储格式,android手机导出的通讯录文件也是这种格式。

/**
* 读取.vcf格式文件
* @param $filename
*/
function readCvf($filename)
{
$file = fopen($filename, "r");
while (!feof($file)) {
$line = fgets($file);
$encoding = mb_detect_encoding($line, array('GB2312', 'GBK', 'UTF-16', 'UCS-2', 'UTF-8', 'BIG5', 'ASCII'));
$content = iconv($encoding, "utf-8", $line);
$arr = explode(":", $content);
if ($arr[0] == "NOTE;ENCODING=QUOTED-PRINTABLE") {
$temp = quoted_printable_decode($arr[1]);
$encoding = mb_detect_encoding($temp, array('GB2312', 'GBK', 'UTF-16', 'UCS-2', 'UTF-8', 'BIG5', 'ASCII'));
$arr[1] = iconv($encoding, "utf-8", $temp);
}
if (count($arr) == 2) {
$re[$arr[0]] = $arr[1];
}
}
fclose($file);
return $re;
}

乱码问题解决方法

$encoding = mb_detect_encoding($line, array('GB2312','GBK','UTF-16','UCS-2','UTF-8','BIG5','ASCII'));

$content = iconv($encoding, "utf-8", $line);

php读取vcf通讯录格式文件的方法

以上就是本文php读取vcf通讯录格式文件的方法的全部内容,希望本文所述对大家PHP程序设计有所帮助。

关闭
感谢您的支持,我会继续努力!
扫码打赏,建议金额1-10元


提醒:打赏金额将直接进入对方账号,无法退款,请您谨慎操作。