``GetFileSystem()``
GetFileSystem(?string $uri = null): ?Filesystem
Get the file system object. The argument is the URI (used by PHPMaker) of the bucket or container, e.g. "s3://my-bucket", "google.storage://my-bucket", "azure.blob://my-container".
Then you can use the ``$filesystem`` with [Filesystem API](https://flysystem.thephpleague.com/docs/usage/filesystem-api/) directly.
``ReadFile()``
ReadFile(string $path, Filesystem|string|null $fileSystem = null): string
Read a file by path relative to the root of the file system. If ``$fileSystem`` is not specified and is not local, the ``$path`` must be absolute.
``WriteFile()``
WriteFile(string $path, string $data, array $config = [], Filesystem|string|null $fileSystem = null): bool
Write a file by path relative to the root of the file system. If ``$fileSystem`` is not specified and is not local, the ``$path`` must be absolute. The ``$config`` depends on file system adapter.
**Note** When writing files, the directory you're writing to will be created automatically if and when that is required in the filesystem. If your filesystem does not require directories to exist (like AWS S3), the directory is NOT created. Of course, you can always create the directory yourself.
``DeleteFile()``
DeleteFile(string $path, Filesystem|string|null $fileSystem = null): bool
Delete a file by path relative to the root of the file system. If ``$fileSystem`` is not specified and is not local, the ``$path`` must be absolute.
``DeleteDirectory()``
DeleteDirectory(string $path, Filesystem|string|null $fileSystem = null): bool
Delete a directory by path relative to the root of the file system. If ``$fileSystem`` is not specified and is not local, the ``$path`` must be absolute.
``ListContents()``
ListContents(string $path, bool $recursive, Filesystem|string|null $fileSystem = null): DirectoryListing
List directory contents. If ``$fileSystem`` is not specified and is not local, the ``$path`` must be absolute.
``FileExists()``
FileExists(string $path, Filesystem|string|null $fileSystem = null): bool
Check if a file exists. If ``$fileSystem`` is not specified and is not local, the ``$path`` must be absolute.
``DirectoryExists()``
DirectoryExists(string $path, Filesystem|string|null $fileSystem = null): bool
Check if a directory exists. If ``$fileSystem`` is not specified and is not local, the ``$path`` must be absolute.
``CreateDirectory()``
CreateDirectory(string $path, array $config = [], Filesystem|string|null $fileSystem = null): bool
Create a directory. If ``$fileSystem`` is not specified and is not local, the ``$path`` must be absolute. The ``$config`` depends on file system adapter.
``MoveFile()``
MoveFile(string $sourcePath, string $destinationPath, array $config = [], Filesystem|string|null $fileSystem = null): bool
Move a file. If ``$fileSystem`` is not specified and is not local, the ``$path`` must be absolute. The ``$config`` depends on file system adapter.
``CopyFile()``
CopyFile(string $sourcePath, string $destinationPath, array $config = [], Filesystem|string|null $fileSystem = null): bool
Copy a file. If ``$fileSystem`` is not specified and is not local, the ``$path`` must be absolute. The ``$config`` depends on file system adapter.