批量导入通讯录

手机可以识别vcf格式的文件,直接批量导入通讯录,具体步骤为:制作好vcf文件-》发送到微信-》使用其他应用打开-》选择通讯录打开

看cvf文件格式,替换到其中的数据就行

1
2
3
4
5
6
7
8
9
10
11
12
13
BEGIN:VCARD
VERSION:2.1
N;CHARSET=UTF-8:阿三
FN;CHARSET=UTF-8:阿三
TEL;CELL;VOICE:15023564253
END:VCARD
BEGIN:VCARD
VERSION:2.1
N;CHARSET=UTF-8:阿四
FN;CHARSET=UTF-8:阿四
TEL;CELL;VOICE:13656425689
END:VCARD

image-20211112155832051

制作CSV文件

1
2
3
姓名,电话
阿三,15023564253
阿四,13656425689

转换代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
exec('chcp 65001');
$str = "";
BEGIN:
fwrite(STDOUT, "请输入cvs文件路径(必须全英文):\n");
$file = trim(fgets(STDIN));
if (!file_exists($file)) {
echo "文件【{$file}】不存在:\n";
goto BEGIN;
}
$users = file($file);
unset($users[0]);
foreach($users as $u) {
$info = explode(",", $u);
$name = trim($info[0]);
$mobile = trim($info[1]);
// 下面部分不要为了格式好看而进行缩进,缩进后可能造成为题
$str .="
BEGIN:VCARD
VERSION:2.1
N;CHARSET=UTF-8:{$name}
FN;CHARSET=UTF-8:{$name}
TEL;CELL;VOICE:{$mobile}
END:VCARD";
}
$out = dirname(__FILE__) . "/".$file.".vcf";
file_put_contents($out, $str);
echo "转换成功! 文件路径为:【{$out}】";