Filesystem Package provide a fluent, object-oriented interface for working with filesystem.

Installation

With Composer

composer require glowy/filesystem

Usage

use Glowy\Filesystem\Filesystem;

// Create a Filesystem instance.
$filesystem = new Filesystem();

// Using global helper function filesystem()
$filesystem = filesystem();

Extending

Filesystem are "macroable", which allows you to add additional methods to the Filesystem class at run time. For example, the following code adds a customMethod method to the Filesystem class:

use Glowy\Filesystem\Filesystem;
use Glowy\Filesystem\Directory;
use Glowy\Filesystem\File;
use Glowy\Macroable\Macroable;

Filesystem::macro('countFiles', function($path) {
    return count(iterator_to_array($this->find()->in($path)->files(), false));
});

$filesytem = new Filesystem();

echo $filesytem->countFiles('/directory');

The above example will output:

1

Methods

Filesystem

directory Create a Directory instance.
file Create a File instance.
find Create a File instance.
glob Find path names matching a given pattern.
isAbsolute Determine if the given path is absolute path.
isStream Determine if the given path is a stream path.
isWindowsPath Determine if the given path is absolute path.

File

append Append to a file.
basename Get the trailing name component from a file path.
chmod Get/Set UNIX mode of a file.
copy Copy a file to a new location.
delete Delete the file at a given path.
exists Checks the existence of file and returns false if any of them is missing.
extension Get the file extension from a file path.
get Get the contents of a file.
hash Get the MD5 hash of the file at the given path.
isFile Determine if the given path is a regular file.
isReadable Determine if the given path is readable.
isWritable Determine if the given path is writable.
lastAccess Get the file's last access time.
lastModified Get the file's last modification time.
mimeType Get the mime-type of a given file.
move Move a file to a new location.
name Get the file name from a file path.
path Return current path.
prepend Prepend to a file.
put Write the contents of a file.
sharedGet Get contents of a file with shared access.
size Gets file size in bytes.
type Get the file type of a given file.

Directory

chmod Get/Set UNIX mode of a directory.
clean Empty the specified directory of all files and directories.
copy Copy a directory from one location to another.
create Create a directory.
delete Delete a directory.
exists Checks the existence of directory and returns false if any of them is missing.
isDirectory Determine if the given path is a directory.
move Move a directory.
path Return current path.
size Gets size of a given directory in bytes.

Getting Started

Methods

Filesystem
File
Directory