Filesystem
class Filesystem (View source)
Traits
Properties
| static protected array | $macros | The registered string macros.  | 
                from Macroable | 
Methods
Apply the callback if the given "value" is (or resolves to) truthy.
Apply the callback if the given "value" is (or resolves to) falsy.
Mix another object into the class.
Dynamically handle calls to the class.
Dynamically handle calls to the class.
Determine if a file or directory exists.
Determine if a file or directory is missing.
Get the contents of a file.
Get contents of a file with shared access.
Get the returned value of a file.
Require the given file once.
Get the contents of a file one line at a time.
Get the hash of the file at the given path.
Write the contents of a file.
Write the contents of a file, replacing it atomically if it already exists.
Replace a given string within a given file.
Prepend to a file.
Append to a file.
Get or set UNIX mode of a file or directory.
Delete the file at a given path.
Move a file to a new location.
Copy a file to a new location.
Create a symlink to the target file or directory. On Windows, a hard link is created if the target is a file.
Create a relative symlink to the target file or directory.
Extract the file name from a file path.
Extract the trailing name component from a file path.
Extract the parent directory from a file path.
Extract the file extension from a file path.
Guess the file extension from the mime-type of a given file.
Get the file type of a given file.
Get the mime-type of a given file.
Get the file size of a given file.
Get the file's last modification time.
Determine if the given path is a directory.
Determine if the given path is a directory that does not contain any other files or directories.
Determine if the given path is readable.
Determine if the given path is writable.
Determine if two files are the same by comparing their hashes.
Determine if the given path is a file.
Find path names matching a given pattern.
Get an array of all files in a directory.
Get all of the files from the given directory (recursive).
Get all of the directories within a given directory.
Ensure a directory exists.
Create a directory.
Move a directory.
Copy a directory from one location to another.
Recursively delete a directory.
Remove all of the directories within a given directory.
Empty the specified directory of all files and folders.
Details
        
                            $this|TWhenReturnType
    when($value = null, callable|null $callback = null, callable|null $default = null)
        
    
    Apply the callback if the given "value" is (or resolves to) truthy.
        
                            $this|TUnlessReturnType
    unless($value = null, callable|null $callback = null, callable|null $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.
        
                            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.
        
                            LazyCollection
    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)
        
    
    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.
        
                            void
    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.
The directory itself may be optionally preserved.
        
                            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.