class FilesystemAdapter implements Cloud mixin FilesystemOperator

Traits

Constants

internal BUFFERED_STREAM_CONTEXT_OPTION

The stream context option identifying a range over an independent buffer.

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.

bool
copyToDisk(Filesystem|string|UnitEnum $disk, string $from, string|null $to = null)

Copy a file to another disk.

bool
moveToDisk(Filesystem|string|UnitEnum $disk, string $from, string|null $to = null)

Move a file to another disk.

bool
transferFile(Filesystem $source, string $from, Filesystem $destination, string $to)

Transfer a file without holding a source lease during the destination write.

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.

image(string $path)

Create an image instance from a file in storage.

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
encodeUrlPath(string $path)

Encode a path for use in a URL.

string
concatPathToUrl(string $url, string $path)

Encode and 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.

mixed
withDriver(Closure $callback)

Run a callback with the Flysystem driver, as pooled disks do with a borrowed one.

mixed
withAdapter(Closure $callback)

Run a callback with the Flysystem adapter, as pooled disks do with a borrowed one.

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.

bool
shouldThrow(Throwable $exception)

Determine whether failure policy or coroutine cancellation requires propagation.

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 TransfersFiles at line 21
bool copyToDisk(Filesystem|string|UnitEnum $disk, string $from, string|null $to = null)

Copy a file to another disk.

Parameters

Filesystem|string|UnitEnum $disk
string $from
string|null $to

Return Value

bool

in TransfersFiles at line 33
bool moveToDisk(Filesystem|string|UnitEnum $disk, string $from, string|null $to = null)

Move a file to another disk.

Parameters

Filesystem|string|UnitEnum $disk
string $from
string|null $to

Return Value

bool

in TransfersFiles at line 41
protected bool transferFile(Filesystem $source, string $from, Filesystem $destination, string $to)

Transfer a file without holding a source lease during the destination write.

Parameters

Filesystem $source
string $from
Filesystem $destination
string $to

Return Value

bool

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

Register a custom macro.

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 44
static void mixin(object $mixin, bool $replace = true)

Mix another object into the class.

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 61
static bool hasMacro(string $name)

Check if macro is registered.

Parameters

string $name

Return Value

bool

in Macroable at line 72
static void flushMacros()

Flush the existing macros.

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

Return Value

void

in Macroable at line 83
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 1261
mixed __call(string $method, array $parameters)

Pass dynamic methods call onto Flysystem.

Parameters

string $method
array $parameters

Return Value

mixed

Exceptions

BadMethodCallException

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

Create a new filesystem adapter instance.

Parameters

FilesystemOperator $driver
FilesystemAdapter $adapter
array $config

at line 133
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 164
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 184
FilesystemAdapter assertMissing(array|string $path)

Assert that the given file or directory does not exist.

Parameters

array|string $path

Return Value

FilesystemAdapter

at line 205
FilesystemAdapter assertDirectoryEmpty(string $path)

Assert that the given directory is empty.

Parameters

string $path

Return Value

FilesystemAdapter

at line 220
FilesystemAdapter assertEmpty()

Assert that the disk contains no files.

Return Value

FilesystemAdapter

at line 230
bool exists(string $path)

Determine if a file or directory exists.

Parameters

string $path

Return Value

bool

at line 238
bool missing(string $path)

Determine if a file or directory is missing.

Parameters

string $path

Return Value

bool

at line 246
bool fileExists(string $path)

Determine if a file exists.

Parameters

string $path

Return Value

bool

at line 254
bool fileMissing(string $path)

Determine if a file is missing.

Parameters

string $path

Return Value

bool

at line 262
bool directoryExists(string $path)

Determine if a directory exists.

Parameters

string $path

Return Value

bool

at line 270
bool directoryMissing(string $path)

Determine if a directory is missing.

Parameters

string $path

Return Value

bool

at line 278
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 286
string|null get(string $path)

Get the contents of a file.

Parameters

string $path

Return Value

string|null

at line 304
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 316
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

Exceptions

UnableToRetrieveMetadata

at line 336
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

Exceptions

UnableToRetrieveMetadata

at line 348
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

Exceptions

UnableToRetrieveMetadata

at line 356
Image image(string $path)

Create an image instance from a file in storage.

Parameters

string $path

Return Value

Image

at line 367
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 395
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 444
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 458
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 495
string getVisibility(string $path)

Get the visibility for the given path.

Parameters

string $path

Return Value

string

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

Set the visibility for the given path.

Parameters

string $path
string $visibility

Return Value

bool

at line 527
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 545
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 563
bool delete(array|string $paths)

Delete the file at a given path.

Parameters

array|string $paths

Return Value

bool

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

Copy a file to a new location.

Parameters

string $from
string $to

Return Value

bool

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

Move a file to a new location.

Parameters

string $from
string $to

Return Value

bool

at line 629
int size(string $path)

Get the file size of a given file.

Parameters

string $path

Return Value

int

at line 639
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 659
false|string mimeType(string $path)

Get the mime-type of a given file.

Parameters

string $path

Return Value

false|string

Exceptions

UnableToRetrieveMetadata

at line 677
int lastModified(string $path)

Get the file's last modification time.

Parameters

string $path

Return Value

int

at line 687
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 707
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 801
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 823
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 845
string url(string $path)

Get the URL for the file at the given path.

Parameters

string $path

Return Value

string

Exceptions

RuntimeException

at line 871
protected string getFtpUrl(string $path)

Get the URL for the file at the given path.

Parameters

string $path

Return Value

string

at line 881
protected string getLocalUrl(string $path)

Get the URL for the file at the given path.

Parameters

string $path

Return Value

string

at line 905
bool providesTemporaryUrls()

Determine if temporary URLs can be generated.

Return Value

bool

at line 913
bool providesTemporaryUploadUrls()

Determine if temporary upload URLs can be generated.

Return Value

bool

at line 923
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 945
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 965
protected string encodeUrlPath(string $path)

Encode a path for use in a URL.

Parameters

string $path

Return Value

string

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

Encode and concatenate a path to a URL.

Parameters

string $url
string $path

Return Value

string

at line 981
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 996
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 1014
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 1024
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 1041
array allDirectories(string|null $directory = null)

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

Parameters

string|null $directory

Return Value

array

at line 1049
bool makeDirectory(string $path)

Create a directory.

Parameters

string $path

Return Value

bool

at line 1069
bool deleteDirectory(string $directory)

Recursively delete a directory.

Parameters

string $directory

Return Value

bool

at line 1089
FilesystemOperator getDriver()

Get the Flysystem driver.

Return Value

FilesystemOperator

at line 1097
FilesystemAdapter getAdapter()

Get the Flysystem adapter.

Return Value

FilesystemAdapter

at line 1111
mixed withDriver(Closure $callback)

Run a callback with the Flysystem driver, as pooled disks do with a borrowed one.

Parameters

Closure $callback

Return Value

mixed

at line 1125
mixed withAdapter(Closure $callback)

Run a callback with the Flysystem adapter, as pooled disks do with a borrowed one.

Parameters

Closure $callback

Return Value

mixed

at line 1133
array getConfig()

Get the configuration values.

Return Value

array

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

Parse the given visibility value.

Parameters

string|null $visibility

Return Value

string|null

Exceptions

InvalidArgumentException

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

Define a custom callback that generates file download responses.

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 1174
void buildTemporaryUrlsUsing(Closure|null $callback)

Define a custom temporary URL builder callback.

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 1187
void buildTemporaryUploadUrlsUsing(Closure|null $callback)

Define a custom temporary upload URL builder callback.

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 1196
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 1215
protected bool throwsExceptions()

Determine if Flysystem exceptions should be thrown.

Return Value

bool

at line 1223
protected bool shouldThrow(Throwable $exception)

Determine whether failure policy or coroutine cancellation requires propagation.

Parameters

Throwable $exception

Return Value

bool

at line 1233
protected void report(Throwable $exception)

Report the exception.

Parameters

Throwable $exception

Return Value

void

Exceptions

Throwable

at line 1243
protected bool shouldReport()

Determine if Flysystem exceptions should be reported.

Return Value

bool

at line 1251
static void flushState()

Flush all static state.

Return Value

void