PHPackages                             vube/php-filesystem - 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. [File &amp; Storage](/categories/file-storage)
4. /
5. vube/php-filesystem

ActiveLibrary[File &amp; Storage](/categories/file-storage)

vube/php-filesystem
===================

PHP classes for working with files and the file system

0.2.0(11y ago)321.9k11MITPHPPHP &gt;=5.3.2

Since Jul 18Pushed 11y ago7 watchersCompare

[ Source](https://github.com/vube/php-filesystem)[ Packagist](https://packagist.org/packages/vube/php-filesystem)[ RSS](/packages/vube-php-filesystem/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependencies (3)Versions (10)Used By (1)

Vube php-filesystem
===================

[](#vube-php-filesystem)

[![Build Status](https://camo.githubusercontent.com/b8129d2953db1940da4d1fe4dd321b8b99e99a61cfe2f1e3c731b203cac5e885/68747470733a2f2f7472617669732d63692e6f72672f767562652f7068702d66696c6573797374656d2e706e673f6272616e63683d6d6173746572)](https://travis-ci.org/vube/php-filesystem)[![Coverage Status](https://camo.githubusercontent.com/96435055ac9975694fa249524170c02ed9bb3701021bf45b226116f430b98855/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f767562652f7068702d66696c6573797374656d2f62616467652e706e673f6272616e63683d6d6173746572)](https://coveralls.io/r/vube/php-filesystem?branch=master)[![Latest Stable Version](https://camo.githubusercontent.com/1bc3e82d4365597c82c91077c80ce17120cebbed76c567c681cf86e012370cfc/68747470733a2f2f706f7365722e707567782e6f72672f767562652f7068702d66696c6573797374656d2f762f737461626c652e706e67)](https://packagist.org/packages/vube/php-filesystem)[![Dependency Status](https://camo.githubusercontent.com/58944cdf4000fa2da29d2ebc955c19ac4ed10e73ed517af70865cde9316b1284/68747470733a2f2f7777772e76657273696f6e6579652e636f6d2f7061636b6167652f7068702d2d767562652d2d7068702d66696c6573797374656d2f62616467652e706e67)](https://www.versioneye.com/package/php--vube--php-filesystem)

PHP classes for working with files and the file system

Features
--------

[](#features)

- Safely install files on network mounted drives
- Atomic file installs; 100% uptime on production systems
- Atomic symlink modifications; 100% uptime on production systems

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

[](#installation)

Load php-filesystem into your project by adding the following lines to your `composer.json`

```
{
    "require": {
        "vube/php-filesystem": ">=0.1"
    }
}
```

Example Usage
-------------

[](#example-usage)

### Install a directory

[](#install-a-directory)

```
// Explicitly create a directory.
// ALL parent dirs we create will share mode 0775 as modified by your umask

$installer = new Vube\FileSystem\Installer();
$installer->installDir('/path/to/some/dir', 0775);
```

### Install files safely and atomically

[](#install-files-safely-and-atomically)

```
// Install files into /existing-dir
//
// When installing into subdirs, we create all dirs needed,
// the mode is set by your umask.
//
// File installs are network-safe, providing 100% uptime
// on production systems.

$installer = new Vube\FileSystem\Installer();

$installer->installFile('file1', '/existing-dir/file1');
$installer->installFile('file2', '/existing-dir/new-dirs-we-create/with/subdirs/file2');
```

### Create/overwrite symlinks atomically

[](#createoverwrite-symlinks-atomically)

```
// Create or overwrite /path/to/symlink
//
// If it already exists, it is atomically updated.

$installer = new Vube\FileSystem\Installer();
$installer->symlink('/path/to/actual', '/path/to/symlink');
```

### Easily diff files

[](#easily-diff-files)

```
// Compare file1 and file2; are they different?

$differ = new Vube\FileSystem\FileDiffer();

if($differ->isDiff('file1', 'file2'))
    echo "These files are different.\n";
```

### Easily zip files

[](#easily-zip-files)

```
// Gzip source.txt and save the result in destination.gz

$zipper = new Vube\FileSystem\Gzip();
$zipper->zip('source.txt', 'destination.gz');
```

Dependencies
------------

[](#dependencies)

- PHP 5.3.2+
- Composer

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community13

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 ~77 days

Recently: every ~84 days

Total

9

Last Release

4060d ago

PHP version history (2 changes)0.1.0PHP &gt;=5.3

0.1.1PHP &gt;=5.3.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/e93b948c39aebf57d2f7f3cf4d207e87568ebd9a98cd2dd13356c60a643bf10d?d=identicon)[ross-p](/maintainers/ross-p)

---

Top Contributors

[![ross-p](https://avatars.githubusercontent.com/u/4956475?v=4)](https://github.com/ross-p "ross-p (1 commits)")

---

Tags

filesystemfile systemPHP Libraryvube

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/vube-php-filesystem/health.svg)

```
[![Health](https://phpackages.com/badges/vube-php-filesystem/health.svg)](https://phpackages.com/packages/vube-php-filesystem)
```

###  Alternatives

[league/flysystem

File storage abstraction for PHP

13.6k639.1M2.2k](/packages/league-flysystem)[league/flysystem-aws-s3-v3

AWS S3 filesystem adapter for Flysystem.

1.6k263.6M790](/packages/league-flysystem-aws-s3-v3)[knplabs/gaufrette

PHP library that provides a filesystem abstraction layer

2.5k39.8M123](/packages/knplabs-gaufrette)[knplabs/knp-gaufrette-bundle

Allows to easily use the Gaufrette library in a Symfony project

72528.6M91](/packages/knplabs-knp-gaufrette-bundle)[league/flysystem-local

Local filesystem adapter for Flysystem.

226231.8M39](/packages/league-flysystem-local)[league/flysystem-bundle

Symfony bundle integrating Flysystem into Symfony applications

40029.5M87](/packages/league-flysystem-bundle)

PHPackages © 2026

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