PHPackages                             spm/zipper - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. spm/zipper

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

spm/zipper
==========

Zip to all files in a folder and its subfolders recursively

1.1.2(3y ago)018MITPHP

Since Aug 6Pushed 3y ago1 watchersCompare

[ Source](https://github.com/projectSPM/zipper)[ Packagist](https://packagist.org/packages/spm/zipper)[ RSS](/packages/spm-zipper/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)DependenciesVersions (5)Used By (0)

SPM Zipper
==========

[](#spm-zipper)

ZPM Zipper is a laravel package.

Its main function are: 1 - recursively zip files from a folder and its subfolders. The structure of the zip will coincide with that of the route sent to the package.

2 - Unzip a zip file to a specific path

Installation
------------

[](#installation)

Use composer to install ZPM Zipper.

```
composer require spm/zipper
```

Usage
-----

[](#usage)

```
# Providers to add

Spm\Zipper\ZipperServiceProvider:class

#Facade to add

'Zipper' => Spm\Zipper\Facades\Zipper::class

# Set the path and name of the new zip file

$zip_file_name = public_path() . '\exports\file_name.zip';

Zipper::setFileName($zip_file_name)

# Add all folders to zip file
# They can be in different locations as long as they are indicated in the array

$folders_to_zip = [
   public_path() . '\storage\general',
   public_path() . '\storage\home',
];

Zipper::setFoldersToZip($folders_to_zip)

# Make the zip file

Zipper::makeZip();

# Set path to the zip file to unzip

$path_to_zipFile = $request->file('excel-file')->path();

Zipper::setPathToZipFile($path_to_zipFile)

# Set path to the unzipped file result

$path_to_unZip = public_path('storage\import');

Zipper::setPathToUnzip($path_to_unZip)

# Make de unzip file

Zipper::unZipFile()
```

Contributing
------------

[](#contributing)

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License
-------

[](#license)

[MIT](./LICENSE.md)

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 66.7% 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 ~117 days

Total

4

Last Release

1395d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/41eeeee3049d33fc79afac7578435bd2a5d8ff55b664bffc1125bbfdb4c545b8?d=identicon)[SPMProyects](/maintainers/SPMProyects)

---

Top Contributors

[![santiagopereyramarchetti](https://avatars.githubusercontent.com/u/63074615?v=4)](https://github.com/santiagopereyramarchetti "santiagopereyramarchetti (6 commits)")[![projectSPM](https://avatars.githubusercontent.com/u/88519304?v=4)](https://github.com/projectSPM "projectSPM (3 commits)")

### Embed Badge

![Health badge](/badges/spm-zipper/health.svg)

```
[![Health](https://phpackages.com/badges/spm-zipper/health.svg)](https://phpackages.com/packages/spm-zipper)
```

PHPackages © 2026

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