PHP classes for working with files and the file system
- Safely install files on network mounted drives
- Atomic file installs; 100% uptime on production systems
- Atomic symlink modifications; 100% uptime on production systems
Load php-filesystem into your project by adding the following lines to your composer.json
{
"require": {
"vube/php-filesystem": ">=0.1"
}
}// Explicitly create a directory.// ALL parent dirs we create will share mode 0775 as modified by your umask$installer = newVube\FileSystem\Installer();
$installer->installDir('/path/to/some/dir', 0775);// 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 = newVube\FileSystem\Installer();
$installer->installFile('file1', '/existing-dir/file1');
$installer->installFile('file2', '/existing-dir/new-dirs-we-create/with/subdirs/file2');// Create or overwrite /path/to/symlink//// If it already exists, it is atomically updated.$installer = newVube\FileSystem\Installer();
$installer->symlink('/path/to/actual', '/path/to/symlink');// Compare file1 and file2; are they different?$differ = newVube\FileSystem\FileDiffer();
if($differ->isDiff('file1', 'file2'))
echo"These files are different.\n";// Gzip source.txt and save the result in destination.gz$zipper = newVube\FileSystem\Gzip();
$zipper->zip('source.txt', 'destination.gz');- PHP 5.3.2+
- Composer



