class Filesystem

Provides basic utility to manipulate the file system.

Methods

copy(string $originFile, string $targetFile, bool $overwriteNewerFiles = false)

Copies a file.

mkdir(string|iterable $dirs, int $mode = 511)

Creates a directory recursively.

bool
exists(string|iterable $files)

Checks the existence of files or directories.

touch(string|iterable $files, int $time = null, int $atime = null)

Sets access and modification time of file.

remove(string|iterable $files)

Removes files or directories.

chmod(string|iterable $files, int $mode, int $umask, bool $recursive = false)

Change mode for an array of files or directories.

chown(string|iterable $files, string $user, bool $recursive = false)

Change the owner of an array of files or directories.

chgrp(string|iterable $files, string $group, bool $recursive = false)

Change the group of an array of files or directories.

rename(string $origin, string $target, bool $overwrite = false)

Renames a file or a directory.

symlink(string $originDir, string $targetDir, bool $copyOnWindows = false)

Creates a symbolic link or copy a directory.

string
makePathRelative(string $endPath, string $startPath)

Given an existing path, convert it to a path relative to a given starting path.

mirror(string $originDir, string $targetDir, Traversable $iterator = null, array $options = array())

Mirrors a directory to another.

bool
isAbsolutePath(string $file)

Returns whether the file path is an absolute path.

dumpFile(string $filename, string $content, null|int $mode = 438)

Atomically dumps content into a file.

static 
handleError($type, $msg)

No description

Details

at line line 40
copy(string $originFile, string $targetFile, bool $overwriteNewerFiles = false)

Copies a file.

If the target file is older than the origin file, it's always overwritten. If the target file is newer, it is overwritten only when the $overwriteNewerFiles option is set to true.

Parameters

string $originFile The original filename
string $targetFile The target filename
bool $overwriteNewerFiles If true, target files newer than origin files are overwritten

Exceptions

FileNotFoundException When originFile doesn't exist
IOException When copy fails

at line line 93
mkdir(string|iterable $dirs, int $mode = 511)

Creates a directory recursively.

Parameters

string|iterable $dirs The directory path
int $mode The directory mode

Exceptions

IOException On any directory creation failure

at line line 119
bool exists(string|iterable $files)

Checks the existence of files or directories.

Parameters

string|iterable $files A filename, an array of files, or a \Traversable instance to check

Return Value

bool true if the file exists, false otherwise

at line line 145
touch(string|iterable $files, int $time = null, int $atime = null)

Sets access and modification time of file.

Parameters

string|iterable $files A filename, an array of files, or a \Traversable instance to create
int $time The touch time as a Unix timestamp
int $atime The access time as a Unix timestamp

Exceptions

IOException When touch fails

at line line 162
remove(string|iterable $files)

Removes files or directories.

Parameters

string|iterable $files A filename, an array of files, or a \Traversable instance to remove

Exceptions

IOException When removal fails

at line line 198
chmod(string|iterable $files, int $mode, int $umask, bool $recursive = false)

Change mode for an array of files or directories.

Parameters

string|iterable $files A filename, an array of files, or a \Traversable instance to change mode
int $mode The new mode (octal)
int $umask The mode mask (octal)
bool $recursive Whether change the mod recursively or not

Exceptions

IOException When the change fail

at line line 219
chown(string|iterable $files, string $user, bool $recursive = false)

Change the owner of an array of files or directories.

Parameters

string|iterable $files A filename, an array of files, or a \Traversable instance to change owner
string $user The new owner user name
bool $recursive Whether change the owner recursively or not

Exceptions

IOException When the change fail

at line line 246
chgrp(string|iterable $files, string $group, bool $recursive = false)

Change the group of an array of files or directories.

Parameters

string|iterable $files A filename, an array of files, or a \Traversable instance to change group
string $group The group name
bool $recursive Whether change the group recursively or not

Exceptions

IOException When the change fail

at line line 274
rename(string $origin, string $target, bool $overwrite = false)

Renames a file or a directory.

Parameters

string $origin The origin filename or directory
string $target The new filename or directory
bool $overwrite Whether to overwrite the target if it already exists

Exceptions

IOException When target file or directory already exists
IOException When origin cannot be renamed

Creates a symbolic link or copy a directory.

Parameters

string $originDir The origin directory path
string $targetDir The symbolic link name
bool $copyOnWindows Whether to copy files if on Windows

Exceptions

IOException When symlink fails

at line line 362
string makePathRelative(string $endPath, string $startPath)

Given an existing path, convert it to a path relative to a given starting path.

Parameters

string $endPath Absolute path of target
string $startPath Absolute path where traversal begins

Return Value

string Path of target relative to starting path

at line line 445
mirror(string $originDir, string $targetDir, Traversable $iterator = null, array $options = array())

Mirrors a directory to another.

Copies files and directories from the origin directory into the target directory. By default:

  • existing files in the target directory will be overwritten, except if they are newer (see the override option)
  • files in the target directory that do not exist in the source directory will not be deleted (see the delete option)

Parameters

string $originDir The origin directory
string $targetDir The target directory
Traversable $iterator Iterator that filters which files and directories to copy
array $options An array of boolean options Valid options are: - $options['override'] If true, target files newer than origin files are overwritten (see copy(), defaults to false) - $options['copyonwindows'] Whether to copy files instead of links on Windows (see symlink(), defaults to false) - $options['delete'] Whether to delete files that are not in the source directory (defaults to false)

Exceptions

IOException When file type is unknown

at line line 513
bool isAbsolutePath(string $file)

Returns whether the file path is an absolute path.

Parameters

string $file A file path

Return Value

bool

at line line 534
dumpFile(string $filename, string $content, null|int $mode = 438)

Atomically dumps content into a file.

Parameters

string $filename The file to be written to
string $content The data to write into the file
null|int $mode The file mode (octal). If null, file permissions are not modified Deprecated since version 2.3.12, to be removed in 3.0.

Exceptions

IOException if the file cannot be written to

at line line 599
static handleError($type, $msg)

Parameters

$type
$msg