PHPackages                             sabsab43/vcard-fusion - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. sabsab43/vcard-fusion

ActiveLibrary

sabsab43/vcard-fusion
=====================

This library can merges multiple vcard/vcf files with an occurrences search option.

10.1(5y ago)014MITPHPPHP &gt;=7.4.3

Since Apr 9Pushed 5y ago1 watchersCompare

[ Source](https://github.com/SabSab43/vcard-fusion)[ Packagist](https://packagist.org/packages/sabsab43/vcard-fusion)[ Docs](https://github.com/SabSab43/vcard-fusion)[ RSS](/packages/sabsab43-vcard-fusion/feed)WikiDiscussions master Synced yesterday

READMEChangelog (2)DependenciesVersions (4)Used By (0)

This script convert multiple vcard/vcf file sinto one.

You can choose if you want search occurrences or not.

Read this before use the script
===============================

[](#read-this-before-use-the-script)

Before start convertion, like with any other software, **keep a save of your vcards files**, especially if you use occurrences search option.

The occurrence search option will compare FN (or N depending on the vcard version) property, if you have two different contacts with same FN or N property, they will be merge.

for example, this two differents vcards with same name (FN property):

```
BEGIN:VCARD
VERSION:3.0
PRODID:-//dmfs.org//mimedir.vcard//EN
UID:811bd877-a93f-4e76-8098-b61ece5c8650
EMAIL;TYPE=*:john.doe@mail.com
FN:John
REV:20210330T101608Z
TEL;TYPE=VOICE,CELL:+33 1 23 45 67 89
END:VCARD

BEGIN:VCARD
VERSION:3.0
PRODID:-//dmfs.org//mimedir.vcard//EN
UID:811bd877-a93f-4e76-8098-b61ece5c8650
EMAIL;TYPE=*:john.peter@mail.fr
FN:John
REV:20210330T101608Z
TEL;TYPE=VOICE,CELL:+33 9 87 65 43 21
END:VCARD

```

they will become

```
BEGIN:VCARD
VERSION:3.0
PRODID:-//dmfs.org//mimedir.vcard//EN
UID:811bd877-a93f-4e76-8098-b61ece5c8650
EMAIL;TYPE=*:john.doe@mail.com
FN:John
REV:20210330T101608Z
TEL;TYPE=VOICE,CELL:+33 1 23 45 67 89
EMAIL;TYPE=*:john.peter@mail.fr
TEL;TYPE=VOICE,CELL:+33 9 87 65 43 21
END:VCARD

```

So make sure you have different names for your contacts if you don't want this result or disallow checking occurrences option.

Installation
============

[](#installation)

Use composer to get the package

> composer require sabsab43/vcard-fusion

It is vailable on Packagist:

Configuration
=============

[](#configuration)

You just need to put this code in your controller

```
/** Your autoloader... **/
require('./vendor/autoload.php');

use VcardFusion\VcardManager;

/** Your code .... **/

$errors = [];
if (isset($_FILES) && !empty($_FILES))
{
    $vcm = new VcardManager($_FILES);
    $errors = $vcm->mergeVcardFiles();
}

/** Your code...**/
```

The VcardManager class constructor wait this POST request values

```
$_POST['version'] //'2.1', '3.0' or '4.0', if not specify return an error
$_POST['checkOccurrences'] // true or false, if not specify set $checkOccurrences to false
$_POST['checkVersion'] //true or false, if not specify set $checkVersion to false
```

Searching occurrences and checking vcard versions are set by user. You need to specify this options in your form like in this example:

```

            Vcard version

                Vcard 2.1

                Vcard 3.0

                Vcard 4.0

            Options

                    Check occurrences

                    Check files version(recommended)

            Select your files

            Merge

```

The script will return a new vcard file or print errors if it failed.

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~5 days

Total

3

Last Release

1849d ago

Major Versions

1.0.1 → 10.12021-04-19

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/39513024?v=4)[Lucas Saby](/maintainers/SabSab43)[@SabSab43](https://github.com/SabSab43)

---

Top Contributors

[![SabSab43](https://avatars.githubusercontent.com/u/39513024?v=4)](https://github.com/SabSab43 "SabSab43 (9 commits)")

---

Tags

mergevCardvcfoccurrences

### Embed Badge

![Health badge](/badges/sabsab43-vcard-fusion/health.svg)

```
[![Health](https://phpackages.com/badges/sabsab43-vcard-fusion/health.svg)](https://phpackages.com/packages/sabsab43-vcard-fusion)
```

###  Alternatives

[sabre/vobject

The VObject library for PHP allows you to easily parse and manipulate iCalendar and vCard objects

59623.5M41](/packages/sabre-vobject)[jeroendesloovere/vcard

This VCard PHP class can generate a vCard with some data. When using an iOS device it will export as a .ics file because iOS devices don't support the default .vcf files.

5193.6M12](/packages/jeroendesloovere-vcard)[astrotomic/laravel-vcard

A fluent builder class for vCard files.

5330.0k](/packages/astrotomic-laravel-vcard)[jeroendesloovere/vcard-bundle

This Symfony 2 bundle can generate vCards with lots of data. When using an &lt; iOS 7 device it will export as a .ics file because iOS devices don't support the default .vcf files.

1677.3k3](/packages/jeroendesloovere-vcard-bundle)[protonlabs/vobject

The VObject library for PHP allows you to easily parse and manipulate iCalendar and vCard objects

1152.5k](/packages/protonlabs-vobject)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
