class Filesystem (View source)

Traits

Properties

static protected array $macros

The registered string macros.

from  Macroable

Methods

$this|TWhenReturnType
when($value = null, callable $callback = null, callable $default = null)

Apply the callback if the given "value" is (or resolves to) truthy.

$this|TUnlessReturnType
unless($value = null, callable $callback = null, callable $default = null)

Apply the callback if the given "value" is (or resolves to) falsy.

static void
macro(string $name, object|callable $macro)

Register a custom macro.

static void
mixin(object $mixin, bool $replace = true)

Mix another object into the class.

static bool
hasMacro(string $name)

Checks if macro is registered.

static void
flushMacros()

Flush the existing macros.

static mixed
__callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

mixed
__call(string $method, array $parameters)

Dynamically handle calls to the class.

bool
exists(string $path)

Determine if a file or directory exists.

bool
missing(string $path)

Determine if a file or directory is missing.

string
get(string $path, bool $lock = false)

Get the contents of a file.

array
json(string $path, int $flags = 0, bool $lock = false)

Get the contents of a file as decoded JSON.

string
sharedGet(string $path)

Get contents of a file with shared access.

mixed
getRequire(string $path, array $data = [])

Get the returned value of a file.

mixed
requireOnce(string $path, array $data = [])

Require the given file once.

lines(string $path)

Get the contents of a file one line at a time.

string
hash(string $path, string $algorithm = 'md5')

Get the hash of the file at the given path.

int|bool
put(string $path, string $contents, bool $lock = false)

Write the contents of a file.

void
replace(string $path, string $content, int|null $mode = null)

Write the contents of a file, replacing it atomically if it already exists.

void
replaceInFile(array|string $search, array|string $replace, string $path)

Replace a given string within a given file.

int
prepend(string $path, string $data)

Prepend to a file.

int
append(string $path, string $data, bool $lock = false)

Append to a file.

mixed
chmod(string $path, int|null $mode = null)

Get or set UNIX mode of a file or directory.

bool
delete(string|array $paths)

Delete the file at a given path.

bool
move(string $path, string $target)

Move a file to a new location.

bool
copy(string $path, string $target)

Copy a file to a new location.

bool|null
link(string $target, string $link)

Create a symlink to the target file or directory. On Windows, a hard link is created if the target is a file.

void
relativeLink(string $target, string $link)

Create a relative symlink to the target file or directory.

string
name(string $path)

Extract the file name from a file path.

string
basename(string $path)

Extract the trailing name component from a file path.

string
dirname(string $path)

Extract the parent directory from a file path.

string
extension(string $path)

Extract the file extension from a file path.

string|null
guessExtension(string $path)

Guess the file extension from the mime-type of a given file.

string
type(string $path)

Get the file type of a given file.

string|false
mimeType(string $path)

Get the mime-type of a given file.

int
size(string $path)

Get the file size of a given file.

int
lastModified(string $path)

Get the file's last modification time.

bool
isDirectory(string $directory)

Determine if the given path is a directory.

bool
isEmptyDirectory(string $directory, bool $ignoreDotFiles = false)

Determine if the given path is a directory that does not contain any other files or directories.

bool
isReadable(string $path)

Determine if the given path is readable.

bool
isWritable(string $path)

Determine if the given path is writable.

bool
hasSameHash(string $firstFile, string $secondFile)

Determine if two files are the same by comparing their hashes.

bool
isFile(string $file)

Determine if the given path is a file.

array
glob(string $pattern, int $flags = 0)

Find path names matching a given pattern.

SplFileInfo[]
files(string $directory, bool $hidden = false)

Get an array of all files in a directory.

SplFileInfo[]
allFiles(string $directory, bool $hidden = false)

Get all of the files from the given directory (recursive).

array
directories(string $directory)

Get all of the directories within a given directory.

void
ensureDirectoryExists(string $path, int $mode = 0755, bool $recursive = true)

Ensure a directory exists.

bool
makeDirectory(string $path, int $mode = 0755, bool $recursive = false, bool $force = false)

Create a directory.

bool
moveDirectory(string $from, string $to, bool $overwrite = false)

Move a directory.

bool
copyDirectory(string $directory, string $destination, int|null $options = null)

Copy a directory from one location to another.

bool
deleteDirectory(string $directory, bool $preserve = false)

Recursively delete a directory.

bool
deleteDirectories(string $directory)

Remove all of the directories within a given directory.

bool
cleanDirectory(string $directory)

Empty the specified directory of all files and folders.

Details

$this|TWhenReturnType when($value = null, callable $callback = null, callable $default = null)

Apply the callback if the given "value" is (or resolves to) truthy.

Parameters

$value
callable $callback
callable $default

Return Value

$this|TWhenReturnType

$this|TUnlessReturnType unless($value = null, callable $callback = null, callable $default = null)

Apply the callback if the given "value" is (or resolves to) falsy.

Parameters

$value
callable $callback
callable $default

Return Value

$this|TUnlessReturnType

static void macro(string $name, object|callable $macro)

Register a custom macro.

Parameters

string $name
object|callable $macro

Return Value

void

static void mixin(object $mixin, bool $replace = true)

Mix another object into the class.

Parameters

object $mixin
bool $replace

Return Value

void

Exceptions

ReflectionException

static bool hasMacro(string $name)

Checks if macro is registered.

Parameters

string $name

Return Value

bool

static void flushMacros()

Flush the existing macros.

Return Value

void

static mixed __callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

mixed __call(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

bool exists(string $path)

Determine if a file or directory exists.

Parameters

string $path

Return Value

bool

bool missing(string $path)

Determine if a file or directory is missing.

Parameters

string $path

Return Value

bool

string get(string $path, bool $lock = false)

Get the contents of a file.

Parameters

string $path
bool $lock

Return Value

string

Exceptions

FileNotFoundException

array json(string $path, int $flags = 0, bool $lock = false)

Get the contents of a file as decoded JSON.

Parameters

string $path
int $flags
bool $lock

Return Value

array

Exceptions

FileNotFoundException

string sharedGet(string $path)

Get contents of a file with shared access.

Parameters

string $path

Return Value

string

mixed getRequire(string $path, array $data = [])

Get the returned value of a file.

Parameters

string $path
array $data

Return Value

mixed

Exceptions

FileNotFoundException

mixed requireOnce(string $path, array $data = [])

Require the given file once.

Parameters

string $path
array $data

Return Value

mixed

Exceptions

FileNotFoundException

LazyCollection lines(string $path)

Get the contents of a file one line at a time.

Parameters

string $path

Return Value

LazyCollection

Exceptions

FileNotFoundException

string hash(string $path, string $algorithm = 'md5')

Get the hash of the file at the given path.

Parameters

string $path
string $algorithm

Return Value

string

int|bool put(string $path, string $contents, bool $lock = false)

Write the contents of a file.

Parameters

string $path
string $contents
bool $lock

Return Value

int|bool

void replace(string $path, string $content, int|null $mode = null)

Write the contents of a file, replacing it atomically if it already exists.

Parameters

string $path
string $content
int|null $mode

Return Value

void

void replaceInFile(array|string $search, array|string $replace, string $path)

Replace a given string within a given file.

Parameters

array|string $search
array|string $replace
string $path

Return Value

void

int prepend(string $path, string $data)

Prepend to a file.

Parameters

string $path
string $data

Return Value

int

int append(string $path, string $data, bool $lock = false)

Append to a file.

Parameters

string $path
string $data
bool $lock

Return Value

int

mixed chmod(string $path, int|null $mode = null)

Get or set UNIX mode of a file or directory.

Parameters

string $path
int|null $mode

Return Value

mixed

bool delete(string|array $paths)

Delete the file at a given path.

Parameters

string|array $paths

Return Value

bool

bool move(string $path, string $target)

Move a file to a new location.

Parameters

string $path
string $target

Return Value

bool

bool copy(string $path, string $target)

Copy a file to a new location.

Parameters

string $path
string $target

Return Value

bool

Create a symlink to the target file or directory. On Windows, a hard link is created if the target is a file.

Parameters

string $target
string $link

Return Value

bool|null

Create a relative symlink to the target file or directory.

Parameters

string $target
string $link

Return Value

void

Exceptions

RuntimeException

string name(string $path)

Extract the file name from a file path.

Parameters

string $path

Return Value

string

string basename(string $path)

Extract the trailing name component from a file path.

Parameters

string $path

Return Value

string

string dirname(string $path)

Extract the parent directory from a file path.

Parameters

string $path

Return Value

string

string extension(string $path)

Extract the file extension from a file path.

Parameters

string $path

Return Value

string

string|null guessExtension(string $path)

Guess the file extension from the mime-type of a given file.

Parameters

string $path

Return Value

string|null

Exceptions

RuntimeException

string type(string $path)

Get the file type of a given file.

Parameters

string $path

Return Value

string

string|false mimeType(string $path)

Get the mime-type of a given file.

Parameters

string $path

Return Value

string|false

int size(string $path)

Get the file size of a given file.

Parameters

string $path

Return Value

int

int lastModified(string $path)

Get the file's last modification time.

Parameters

string $path

Return Value

int

bool isDirectory(string $directory)

Determine if the given path is a directory.

Parameters

string $directory

Return Value

bool

bool isEmptyDirectory(string $directory, bool $ignoreDotFiles = false)

Determine if the given path is a directory that does not contain any other files or directories.

Parameters

string $directory
bool $ignoreDotFiles

Return Value

bool

bool isReadable(string $path)

Determine if the given path is readable.

Parameters

string $path

Return Value

bool

bool isWritable(string $path)

Determine if the given path is writable.

Parameters

string $path

Return Value

bool

bool hasSameHash(string $firstFile, string $secondFile)

Determine if two files are the same by comparing their hashes.

Parameters

string $firstFile
string $secondFile

Return Value

bool

bool isFile(string $file)

Determine if the given path is a file.

Parameters

string $file

Return Value

bool

array glob(string $pattern, int $flags = 0)

Find path names matching a given pattern.

Parameters

string $pattern
int $flags

Return Value

array

SplFileInfo[] files(string $directory, bool $hidden = false)

Get an array of all files in a directory.

Parameters

string $directory
bool $hidden

Return Value

SplFileInfo[]

SplFileInfo[] allFiles(string $directory, bool $hidden = false)

Get all of the files from the given directory (recursive).

Parameters

string $directory
bool $hidden

Return Value

SplFileInfo[]

array directories(string $directory)

Get all of the directories within a given directory.

Parameters

string $directory

Return Value

array

void ensureDirectoryExists(string $path, int $mode = 0755, bool $recursive = true)

Ensure a directory exists.

Parameters

string $path
int $mode
bool $recursive

Return Value

void

bool makeDirectory(string $path, int $mode = 0755, bool $recursive = false, bool $force = false)

Create a directory.

Parameters

string $path
int $mode
bool $recursive
bool $force

Return Value

bool

bool moveDirectory(string $from, string $to, bool $overwrite = false)

Move a directory.

Parameters

string $from
string $to
bool $overwrite

Return Value

bool

bool copyDirectory(string $directory, string $destination, int|null $options = null)

Copy a directory from one location to another.

Parameters

string $directory
string $destination
int|null $options

Return Value

bool

bool deleteDirectory(string $directory, bool $preserve = false)

Recursively delete a directory.

The directory itself may be optionally preserved.

Parameters

string $directory
bool $preserve

Return Value

bool

bool deleteDirectories(string $directory)

Remove all of the directories within a given directory.

Parameters

string $directory

Return Value

bool

bool cleanDirectory(string $directory)

Empty the specified directory of all files and folders.

Parameters

string $directory

Return Value

bool