class FilesystemAdapter implements Cloud mixin FilesystemOperator

Traits

Properties

static protected array $macros

The registered string macros.

from  Macroable
protected array $config

The filesystem configuration.

protected PathPrefixer $prefixer

The Flysystem PathPrefixer instance.

protected PathNormalizer $pathNormalizer

The Flysystem path normalizer instance.

protected Closure|null $serveCallback

The file server callback.

protected Closure|null $temporaryUrlCallback

The temporary URL builder callback.

protected Closure|null $temporaryUploadUrlCallback

The temporary upload URL builder callback.

Methods

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

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

mixed
unless(mixed $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, callable|object $macro)

Register a custom macro.

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

Mix another object into the class.

static bool
hasMacro(string $name)

Check 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)

Pass dynamic methods call onto Flysystem.

__construct(FilesystemOperator $driver, FilesystemAdapter $adapter, array $config = [])

Create a new filesystem adapter instance.

assertExists(array|string $path, string|null $content = null)

Assert that the given file or directory exists.

assertCount(string $path, int $count, bool $recursive = false)

Assert that the number of files in path equals the expected count.

assertMissing(array|string $path)

Assert that the given file or directory does not exist.

assertDirectoryEmpty(string $path)

Assert that the given directory is empty.

assertEmpty()

Assert that the disk contains no files.

bool
exists(string $path)

Determine if a file or directory exists.

bool
missing(string $path)

Determine if a file or directory is missing.

bool
fileExists(string $path)

Determine if a file exists.

bool
fileMissing(string $path)

Determine if a file is missing.

bool
directoryExists(string $path)

Determine if a directory exists.

bool
directoryMissing(string $path)

Determine if a directory is missing.

string
path(string $path)

Get the full path to the file that exists at the given relative path.

string|null
get(string $path)

Get the contents of a file.

array|bool|float|int|string|null
json(string $path, int $flags = 0)

Get the contents of a file as decoded JSON.

StreamedResponse
response(string $path, string|null $name = null, array $headers = [], string $disposition = 'inline')

Create a streamed response for a given file.

Response
serve(Request $request, string $path, string|null $name = null, array $headers = [])

Create a streamed response for serving a given file.

StreamedResponse
download(string $path, string|null $name = null, array $headers = [])

Create a streamed download response for a given file.

StreamedResponse
buildFileResponse(Request $request, string $path, string|null $name, array $headers, string $disposition)

Build a file response using the supplied request context.

bool|string
put(string $path, mixed $contents, mixed $options = [])

Write the contents of a file.

false|string
putFile(string|File|UploadedFile $path, array|string|File|UploadedFile|null $file = null, mixed $options = [])

Store the uploaded file on the disk.

false|string
putFileAs(string|File|UploadedFile $path, array|string|File|UploadedFile|null $file, array|string|null $name = null, mixed $options = [])

Store the uploaded file on the disk with a given name.

string
getVisibility(string $path)

Get the visibility for the given path.

bool
setVisibility(string $path, string $visibility)

Set the visibility for the given path.

bool
prepend(string $path, string $data, string $separator = PHP_EOL)

Prepend to a file.

bool
append(string $path, string $data, string $separator = PHP_EOL)

Append to a file.

bool
delete(array|string $paths)

Delete the file at a given path.

bool
copy(string $from, string $to)

Copy a file to a new location.

bool
move(string $from, string $to)

Move a file to a new location.

int
size(string $path)

Get the file size of a given file.

false|string
checksum(string $path, array $options = [])

Get the checksum for a file.

false|string
mimeType(string $path)

Get the mime-type of a given file.

int
lastModified(string $path)

Get the file's last modification time.

mixed
readStream(string $path)

Get a resource to read the file.

mixed
readStreamRange(string $path, int|null $start, int|null $end)

Get a resource to read the partial file.

array
normalizeStreamRange(int|null $start, int|null $end)

Normalize and validate byte-range stream arguments.

bool
writeStream(string $path, mixed $resource, array $options = [])

Write a new file using a stream.

string
url(string $path)

Get the URL for the file at the given path.

string
getFtpUrl(string $path)

Get the URL for the file at the given path.

string
getLocalUrl(string $path)

Get the URL for the file at the given path.

bool
providesTemporaryUrls()

Determine if temporary URLs can be generated.

bool
providesTemporaryUploadUrls()

Determine if temporary upload URLs can be generated.

string
temporaryUrl(string $path, DateTimeInterface $expiration, array $options = [])

Get a temporary URL for the file at the given path.

array|string
temporaryUploadUrl(string $path, DateTimeInterface $expiration, array $options = [])

Get a temporary upload URL for the file at the given path.

string
concatPathToUrl(string $url, string $path)

Concatenate a path to a URL.

UriInterface
replaceBaseUrl(UriInterface $uri, string $url)

Replace the scheme, host and port of the given UriInterface with values from the given URL.

array
files(string|null $directory = null, bool $recursive = false)

Get an array of all files in a directory.

array
allFiles(string|null $directory = null)

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

array
directories(string|null $directory = null, bool $recursive = false)

Get all of the directories within a given directory.

array
allDirectories(string|null $directory = null)

Get all the directories within a given directory (recursive).

bool
makeDirectory(string $path)

Create a directory.

bool
deleteDirectory(string $directory)

Recursively delete a directory.

FilesystemOperator
getDriver()

Get the Flysystem driver.

FilesystemAdapter
getAdapter()

Get the Flysystem adapter.

array
getConfig()

Get the configuration values.

string|null
parseVisibility(string|null $visibility)

Parse the given visibility value.

void
serveUsing(Closure|null $callback)

Define a custom callback that generates file download responses.

void
buildTemporaryUrlsUsing(Closure|null $callback)

Define a custom temporary URL builder callback.

void
buildTemporaryUploadUrlsUsing(Closure|null $callback)

Define a custom temporary upload URL builder callback.

Closure|null
prepareTemporaryUrlCallback(Closure|null $callback)

Prepare a temporary URL callback for direct invocation.

bool
throwsExceptions()

Determine if Flysystem exceptions should be thrown.

void
report(Throwable $exception)

Report the exception.

bool
shouldReport()

Determine if Flysystem exceptions should be reported.

static void
flushState()

Flush all static state.

Details

in Conditionable at line 23
mixed when(mixed $value = null, callable|null $callback = null, callable|null $default = null)

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

Parameters

mixed $value
callable|null $callback
callable|null $default

Return Value

mixed

in Conditionable at line 56
mixed unless(mixed $value = null, callable|null $callback = null, callable|null $default = null)

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

Parameters

mixed $value
callable|null $callback
callable|null $default

Return Value

mixed

in Macroable at line 28
static void macro(string $name, callable|object $macro)

Register a custom macro.

Boot-only. Macros persist in a static property for the worker lifetime and apply to every subsequent call on the macroable class.

Parameters

string $name
callable|object $macro

Return Value

void

in Macroable at line 41
static void mixin(object $mixin, bool $replace = true)

Mix another object into the class.

Boot-only. Delegates to macro() for each method; registered macros persist in a static property for the worker lifetime.

Parameters

object $mixin
bool $replace

Return Value

void

Exceptions

ReflectionException

in Macroable at line 57
static bool hasMacro(string $name)

Check if macro is registered.

Parameters

string $name

Return Value

bool

in Macroable at line 68
static void flushMacros()

Flush the existing macros.

Boot or tests only. Clears worker-wide macros; concurrent coroutines may resolve different methods depending on timing.

Return Value

void

in Macroable at line 78
static mixed __callStatic(string $method, array $parameters)

Dynamically handle calls to the class.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

at line 1093
mixed __call(string $method, array $parameters)

Pass dynamic methods call onto Flysystem.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

at line 94
__construct(FilesystemOperator $driver, FilesystemAdapter $adapter, array $config = [])

Create a new filesystem adapter instance.

Parameters

FilesystemOperator $driver
FilesystemAdapter $adapter
array $config

at line 113
FilesystemAdapter assertExists(array|string $path, string|null $content = null)

Assert that the given file or directory exists.

Parameters

array|string $path
string|null $content

Return Value

FilesystemAdapter

at line 142
FilesystemAdapter assertCount(string $path, int $count, bool $recursive = false)

Assert that the number of files in path equals the expected count.

Parameters

string $path
int $count
bool $recursive

Return Value

FilesystemAdapter

at line 160
FilesystemAdapter assertMissing(array|string $path)

Assert that the given file or directory does not exist.

Parameters

array|string $path

Return Value

FilesystemAdapter

at line 179
FilesystemAdapter assertDirectoryEmpty(string $path)

Assert that the given directory is empty.

Parameters

string $path

Return Value

FilesystemAdapter

at line 192
FilesystemAdapter assertEmpty()

Assert that the disk contains no files.

Return Value

FilesystemAdapter

at line 202
bool exists(string $path)

Determine if a file or directory exists.

Parameters

string $path

Return Value

bool

at line 210
bool missing(string $path)

Determine if a file or directory is missing.

Parameters

string $path

Return Value

bool

at line 218
bool fileExists(string $path)

Determine if a file exists.

Parameters

string $path

Return Value

bool

at line 226
bool fileMissing(string $path)

Determine if a file is missing.

Parameters

string $path

Return Value

bool

at line 234
bool directoryExists(string $path)

Determine if a directory exists.

Parameters

string $path

Return Value

bool

at line 242
bool directoryMissing(string $path)

Determine if a directory is missing.

Parameters

string $path

Return Value

bool

at line 250
string path(string $path)

Get the full path to the file that exists at the given relative path.

Parameters

string $path

Return Value

string

at line 258
string|null get(string $path)

Get the contents of a file.

Parameters

string $path

Return Value

string|null

at line 274
array|bool|float|int|string|null json(string $path, int $flags = 0)

Get the contents of a file as decoded JSON.

Parameters

string $path
int $flags

Return Value

array|bool|float|int|string|null

at line 284
StreamedResponse response(string $path, string|null $name = null, array $headers = [], string $disposition = 'inline')

Create a streamed response for a given file.

Parameters

string $path
string|null $name
array $headers
string $disposition

Return Value

StreamedResponse

at line 302
Response serve(Request $request, string $path, string|null $name = null, array $headers = [])

Create a streamed response for serving a given file.

Parameters

Request $request
string $path
string|null $name
array $headers

Return Value

Response

at line 312
StreamedResponse download(string $path, string|null $name = null, array $headers = [])

Create a streamed download response for a given file.

Parameters

string $path
string|null $name
array $headers

Return Value

StreamedResponse

at line 320
protected StreamedResponse buildFileResponse(Request $request, string $path, string|null $name, array $headers, string $disposition)

Build a file response using the supplied request context.

Parameters

Request $request
string $path
string|null $name
array $headers
string $disposition

Return Value

StreamedResponse

at line 348
bool|string put(string $path, mixed $contents, mixed $options = [])

Write the contents of a file.

Parameters

string $path
mixed $contents
mixed $options

Return Value

bool|string

at line 386
false|string putFile(string|File|UploadedFile $path, array|string|File|UploadedFile|null $file = null, mixed $options = [])

Store the uploaded file on the disk.

Parameters

string|File|UploadedFile $path
array|string|File|UploadedFile|null $file
mixed $options

Return Value

false|string

at line 400
false|string putFileAs(string|File|UploadedFile $path, array|string|File|UploadedFile|null $file, array|string|null $name = null, mixed $options = [])

Store the uploaded file on the disk with a given name.

Parameters

string|File|UploadedFile $path
array|string|File|UploadedFile|null $file
array|string|null $name
mixed $options

Return Value

false|string

at line 435
string getVisibility(string $path)

Get the visibility for the given path.

Parameters

string $path

Return Value

string

at line 447
bool setVisibility(string $path, string $visibility)

Set the visibility for the given path.

Parameters

string $path
string $visibility

Return Value

bool

at line 465
bool prepend(string $path, string $data, string $separator = PHP_EOL)

Prepend to a file.

Parameters

string $path
string $data
string $separator

Return Value

bool

at line 483
bool append(string $path, string $data, string $separator = PHP_EOL)

Append to a file.

Parameters

string $path
string $data
string $separator

Return Value

bool

at line 501
bool delete(array|string $paths)

Delete the file at a given path.

Parameters

array|string $paths

Return Value

bool

at line 525
bool copy(string $from, string $to)

Copy a file to a new location.

Parameters

string $from
string $to

Return Value

bool

at line 543
bool move(string $from, string $to)

Move a file to a new location.

Parameters

string $from
string $to

Return Value

bool

at line 561
int size(string $path)

Get the file size of a given file.

Parameters

string $path

Return Value

int

at line 571
false|string checksum(string $path, array $options = [])

Get the checksum for a file.

Parameters

string $path
array $options

Return Value

false|string

Exceptions

UnableToProvideChecksum

at line 587
false|string mimeType(string $path)

Get the mime-type of a given file.

Parameters

string $path

Return Value

false|string

at line 603
int lastModified(string $path)

Get the file's last modification time.

Parameters

string $path

Return Value

int

at line 613
mixed readStream(string $path)

Get a resource to read the file.

Parameters

string $path

Return Value

mixed

the path resource or null on failure

at line 631
mixed readStreamRange(string $path, int|null $start, int|null $end)

Get a resource to read the partial file.

Parameters

string $path
int|null $start
int|null $end

Return Value

mixed

the path resource or null on failure

at line 691
protected array normalizeStreamRange(int|null $start, int|null $end)

Normalize and validate byte-range stream arguments.

Parameters

int|null $start
int|null $end

Return Value

array

at line 713
bool writeStream(string $path, mixed $resource, array $options = [])

Write a new file using a stream.

Parameters

string $path
mixed $resource
array $options

Return Value

bool

at line 733
string url(string $path)

Get the URL for the file at the given path.

Parameters

string $path

Return Value

string

Exceptions

RuntimeException

at line 759
protected string getFtpUrl(string $path)

Get the URL for the file at the given path.

Parameters

string $path

Return Value

string

at line 769
protected string getLocalUrl(string $path)

Get the URL for the file at the given path.

Parameters

string $path

Return Value

string

at line 793
bool providesTemporaryUrls()

Determine if temporary URLs can be generated.

Return Value

bool

at line 801
bool providesTemporaryUploadUrls()

Determine if temporary upload URLs can be generated.

Return Value

bool

at line 811
string temporaryUrl(string $path, DateTimeInterface $expiration, array $options = [])

Get a temporary URL for the file at the given path.

Parameters

string $path
DateTimeInterface $expiration
array $options

Return Value

string

Exceptions

RuntimeException

at line 833
array|string temporaryUploadUrl(string $path, DateTimeInterface $expiration, array $options = [])

Get a temporary upload URL for the file at the given path.

Parameters

string $path
DateTimeInterface $expiration
array $options

Return Value

array|string

Exceptions

RuntimeException

at line 853
protected string concatPathToUrl(string $url, string $path)

Concatenate a path to a URL.

Parameters

string $url
string $path

Return Value

string

at line 861
protected UriInterface replaceBaseUrl(UriInterface $uri, string $url)

Replace the scheme, host and port of the given UriInterface with values from the given URL.

Parameters

UriInterface $uri
string $url

Return Value

UriInterface

at line 874
array files(string|null $directory = null, bool $recursive = false)

Get an array of all files in a directory.

Parameters

string|null $directory
bool $recursive

Return Value

array

at line 890
array allFiles(string|null $directory = null)

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

Parameters

string|null $directory

Return Value

array

at line 898
array directories(string|null $directory = null, bool $recursive = false)

Get all of the directories within a given directory.

Parameters

string|null $directory
bool $recursive

Return Value

array

at line 913
array allDirectories(string|null $directory = null)

Get all the directories within a given directory (recursive).

Parameters

string|null $directory

Return Value

array

at line 921
bool makeDirectory(string $path)

Create a directory.

Parameters

string $path

Return Value

bool

at line 939
bool deleteDirectory(string $directory)

Recursively delete a directory.

Parameters

string $directory

Return Value

bool

at line 957
FilesystemOperator getDriver()

Get the Flysystem driver.

Return Value

FilesystemOperator

at line 965
FilesystemAdapter getAdapter()

Get the Flysystem adapter.

Return Value

FilesystemAdapter

at line 973
array getConfig()

Get the configuration values.

Return Value

array

at line 983
protected string|null parseVisibility(string|null $visibility)

Parse the given visibility value.

Parameters

string|null $visibility

Return Value

string|null

Exceptions

InvalidArgumentException

at line 1002
void serveUsing(Closure|null $callback)

Define a custom callback that generates file download responses.

Boot-only. The callback persists on the cached disk adapter for the worker lifetime and runs on every subsequent serve() call for that disk.

Parameters

Closure|null $callback

Return Value

void

at line 1014
void buildTemporaryUrlsUsing(Closure|null $callback)

Define a custom temporary URL builder callback.

Boot-only. The callback persists on the cached disk adapter for the worker lifetime and runs on every subsequent temporary URL generation for that disk.

Parameters

Closure|null $callback

Return Value

void

at line 1026
void buildTemporaryUploadUrlsUsing(Closure|null $callback)

Define a custom temporary upload URL builder callback.

Boot-only. The callback persists on the cached disk adapter for the worker lifetime and runs on every subsequent temporary upload URL generation for that disk.

Parameters

Closure|null $callback

Return Value

void

at line 1034
protected Closure|null prepareTemporaryUrlCallback(Closure|null $callback)

Prepare a temporary URL callback for direct invocation.

Parameters

Closure|null $callback

Return Value

Closure|null

at line 1053
protected bool throwsExceptions()

Determine if Flysystem exceptions should be thrown.

Return Value

bool

at line 1063
protected void report(Throwable $exception)

Report the exception.

Parameters

Throwable $exception

Return Value

void

Exceptions

Throwable

at line 1073
protected bool shouldReport()

Determine if Flysystem exceptions should be reported.

Return Value

bool

at line 1081
static void flushState()

Flush all static state.

Return Value

void