final class FileSystem

File system tool.

Methods

static void
createDir(string $dir, int $mode = 0777)

Creates a directory if it does not exist, including parent directories.

static void
copy(string $origin, string $target, bool $overwrite = true)

Copies a file or an entire directory. Overwrites existing files and directories by default.

static resource
open(string $path, string $mode)

Opens file and returns resource.

static void
delete(string $path)

Deletes a file or an entire directory if exists. If the directory is not empty, it deletes its contents first.

static void
rename(string $origin, string $target, bool $overwrite = true)

Renames or moves a file or a directory. Overwrites existing files and directories by default.

static string
read(string $file)

Reads the content of a file.

static Generator
readLines(string $file, bool $stripNewLines = true)

Reads the file content line by line. Because it reads continuously as we iterate over the lines, it is possible to read files larger than the available memory.

static void
write(string $file, string $content, int|null $mode = 0666)

Writes the string to a file.

static void
makeWritable(string $path, int $dirMode = 0777, int $fileMode = 0666)

Sets file permissions to $fileMode or directory permissions to $dirMode.

static bool
isAbsolute(string $path)

Determines if the path is absolute.

static string
normalizePath(string $path)

Normalizes .. and . and directory separators in path.

static string
joinPaths(string ...$paths)

Joins all segments of the path and normalizes the result.

static string
unixSlashes(string $path)

Converts backslashes to slashes.

static string
platformSlashes(string $path)

Converts slashes to platform-specific directory separators.

Details

at line 24
static void createDir(string $dir, int $mode = 0777)

Creates a directory if it does not exist, including parent directories.

Parameters

string $dir
int $mode

Return Value

void

Exceptions

IOException

at line 42
static void copy(string $origin, string $target, bool $overwrite = true)

Copies a file or an entire directory. Overwrites existing files and directories by default.

Parameters

string $origin
string $target
bool $overwrite

Return Value

void

Exceptions

IOException
InvalidStateException

at line 82
static resource open(string $path, string $mode)

Opens file and returns resource.

Parameters

string $path
string $mode

Return Value

resource

Exceptions

IOException

at line 100
static void delete(string $path)

Deletes a file or an entire directory if exists. If the directory is not empty, it deletes its contents first.

Parameters

string $path

Return Value

void

Exceptions

IOException

at line 132
static void rename(string $origin, string $target, bool $overwrite = true)

Renames or moves a file or a directory. Overwrites existing files and directories by default.

Parameters

string $origin
string $target
bool $overwrite

Return Value

void

Exceptions

IOException
InvalidStateException

at line 162
static string read(string $file)

Reads the content of a file.

Parameters

string $file

Return Value

string

Exceptions

IOException

at line 183
static Generator readLines(string $file, bool $stripNewLines = true)

Reads the file content line by line. Because it reads continuously as we iterate over the lines, it is possible to read files larger than the available memory.

Parameters

string $file
bool $stripNewLines

Return Value

Generator

Exceptions

IOException

at line 212
static void write(string $file, string $content, int|null $mode = 0666)

Writes the string to a file.

Parameters

string $file
string $content
int|null $mode

Return Value

void

Exceptions

IOException

at line 239
static void makeWritable(string $path, int $dirMode = 0777, int $fileMode = 0666)

Sets file permissions to $fileMode or directory permissions to $dirMode.

Recursively traverses and sets permissions on the entire contents of the directory as well.

Parameters

string $path
int $dirMode
int $fileMode

Return Value

void

Exceptions

IOException

at line 272
static bool isAbsolute(string $path)

Determines if the path is absolute.

Parameters

string $path

Return Value

bool

at line 281
static string normalizePath(string $path)

Normalizes .. and . and directory separators in path.

Parameters

string $path

Return Value

string

at line 302
static string joinPaths(string ...$paths)

Joins all segments of the path and normalizes the result.

Parameters

string ...$paths

Return Value

string

at line 311
static string unixSlashes(string $path)

Converts backslashes to slashes.

Parameters

string $path

Return Value

string

at line 320
static string platformSlashes(string $path)

Converts slashes to platform-specific directory separators.

Parameters

string $path

Return Value

string