Fork of Symfony's Filesystem Component compatible with PHP 5.2+

v2.8.0 2015-12-01 07:52 UTC


Build Status Project Status: Active - The project has reached a stable, usable state and is being actively developed. Latest Stable Version License

Fork of Symfony's Filesystem component compatible with PHP 5.2+.


Symfony's Filesystem component is a fantastic filesystem library, but it's only compatible with PHP 5.3+. While 99% of PHP servers run PHP 5.2 or higher, 13% of all servers are still running PHP 5.2 or lower (source).

Version 2.8.0 will likely be the last release of this library since PHP 5.2 levels are finally falling below 10%.

Differences from Symfony's Filesystem component

The primary difference is naming conventions of the Symfony classes. Instead of the \Symfony\Component\Filesystem namespace (and sub-namespaces), prefix the Symfony class names with ehough_filesystem and follow the PEAR naming convention

An examples of class naming conversion:

\Symfony\Component\Filesystem\Filesystem   ----->    ehough_filesystem_Filesystem



$filesystem = new ehough_filesystem_Filesystem();

$filesystem->copy($originFile, $targetFile, $override = false);

$filesystem->mkdir($dirs, $mode = 0777);

$filesystem->touch($files, $time = null, $atime = null);



$filesystem->chmod($files, $mode, $umask = 0000, $recursive = false);

$filesystem->chown($files, $user, $recursive = false);

$filesystem->chgrp($files, $group, $recursive = false);

$filesystem->rename($origin, $target);

$filesystem->symlink($originDir, $targetDir, $copyOnWindows = false);

$filesystem->makePathRelative($endPath, $startPath);

$filesystem->mirror($originDir, $targetDir, \Traversable $iterator = null, $options = array());


Releases and Versioning

Releases are synchronized with the upstream Symfony repository. e.g. ehough/filesystem v2.3.1 has merged the code from Symfony/Filesystem v2.3.1.