php简单读取.vcf格式文件的方法示例

yipeiwu_com7年前PHP代码库

本文实例讲述了php简单读取.vcf格式文件的方法。分享给大家供大家参考,具体如下:

/**
* 读取.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){
    $userInfo[$arr[0]] = $arr[1] ;
   }
 }
 fclose($file);
 return $userInfo;
}

经常遇到乱码问题:解决方法两步:

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

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php文件操作总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》及《php字符串(string)用法总结》

希望本文所述对大家PHP程序设计有所帮助。

相关文章

ThinkPHP采用模块和操作分析

任何一个WEB行为都可以认为是一个模块的某个操作,系统会根据当前的URL来分析要执行的模块和操作。这个分析工作由URL调度器来实现,官方内置了Dispatcher类来完成该调度。 在Di...

PHP json格式和js json格式 js跨域调用实现代码

先看一个js函数 复制代码 代码如下: function jsontest() { var json = [{'username':'crystal','userage':'20'},{...

PHP标准库(PHP SPL)详解

PHP标准库(PHP SPL)详解

什么是SPL? SPL,PHP 标准库(Standard PHP Library) ,此从 PHP 5.0 起内置的组件和接口,并且从 PHP5.3 已逐渐的成熟。SPL 其实在所有的...

PHP自带ZIP压缩、解压缩类ZipArchiv使用指南

要使用该PHP扩展类,需要(PHP 5 >= 5.2.0, PECL zip >= 1.1.0),部分方法需要 PHP 5.2.+,且php.ini配置支持zip 对于wi...

PHP判断文件是否存在、是否可读、目录是否存在的代码

1、案例: 复制代码 代码如下: <?php $file = 'jb51.net.php'; if (is_readable($file) == false) { die('文件不...