Installation

With Composer

composer require atomastic/filesystem

Usage

use Atomastic\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 Atomastic\Filesystem\Filesystem;
use Atomastic\Filesystem\Directory;
use Atomastic\Filesystem\File;
use Atomastic\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
Edit this page on GitHub

Getting Started

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.
  • 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.