FileCache
class FileCache implements FileCache
The file cache.
Properties
protected array | $config | File cache configuration. |
|
protected Filesystem | $files | The Filesytem instance to use |
|
protected FilesystemManager | $storage | File FilesystemManager instance to use |
Methods
Create an instance.
Perform a callback with the paths of many cached files. Use this to prevent pruning of the files while they are processed.
Like batch
but deletes the cached files afterwards (if they are not used
somewhere else).
Remove cached files that are too old or exceed the maximum cache size.
Delete all unused cached files.
Get path and handle for a file that exists in the cache.
Get path and handle for a file that does not yet exist in the cache.
Cache a remote file and get the path to the cached file.
Cache an file from a storage disk and get the path to the cached file. Files from local disks are not cached.
Store the file from the given resource to a cached file.
Creates the cache directory if it doesn't exist yet.
Get the stream resource for an file.
Escape special characters (e.g. spaces) that may occur in parts of a HTTP URL.
Details
at line 47
__construct(array $config = [], Filesystem $files = null, FilesystemManager $storage = null)
Create an instance.
at line 57
bool
exists(File $file)
Check if a file exists.
at line 69
mixed
get(File $file, callable $callback)
Perform a callback with the path of a cached file. This takes care of shared locks on the cached file file so it is not corrupted due to concurrent write operations.
at line 79
mixed
getOnce(File $file, callable $callback)
Like get
but deletes the cached file afterwards (if it is not used somewhere
else).
at line 89
resource
getStream(File $file)
Get a stream resource for an file. If the file is cached, the resource points to the cached file instead. This will not cache uncached files. Make sure to close the streams!
at line 121
mixed
batch(array $files, callable $callback)
Perform a callback with the paths of many cached files. Use this to prevent pruning of the files while they are processed.
at line 145
mixed
batchOnce(array $files, callable $callback)
Like batch
but deletes the cached files afterwards (if they are not used
somewhere else).
at line 179
prune()
Remove cached files that are too old or exceed the maximum cache size.
at line 230
clear()
Delete all unused cached files.
at line 254
protected bool
existsRemote(File $file)
Check for existence of a remte file.
at line 291
protected bool
existsDisk(File $file)
Check for existence of a file from a storage disk.
at line 326
protected bool
delete(SplFileInfo $file)
Delete a cached file it it is not used.
at line 355
protected array
retrieve(File $file)
Cache a remote or cloud storage file if it is not cached and get the path to the cached file. If the file is local, nothing will be done and the path to the local file will be returned.
at line 408
protected array
retrieveExistingFile(string $cachedPath, resource $handle)
Get path and handle for a file that exists in the cache.
at line 429
protected array
retrieveNewFile(File $file, string $cachedPath, resource $handle)
Get path and handle for a file that does not yet exist in the cache.
at line 467
protected string
getRemoteFile(File $file, resource $target)
Cache a remote file and get the path to the cached file.
at line 491
protected string
getDiskFile(File $file, resource $target)
Cache an file from a storage disk and get the path to the cached file. Files from local disks are not cached.
at line 519
protected string
cacheFromResource(File $file, resource $source, resource $target)
Store the file from the given resource to a cached file.
at line 549
protected
ensurePathExists()
Creates the cache directory if it doesn't exist yet.
at line 563
protected string
getCachedPath(File $file)
Get the path to the cached file file.
at line 578
protected resource
getFileStream(string $url, resource|null $context = null)
Get the stream resource for an file.
at line 601
protected bool
isRemote(File $file)
Determine if an file is remote, i.e. served by a public webserver.
at line 613
protected Filesystem
getDisk(File $file)
Get the storage disk on which a file is stored.
at line 630
protected string
encodeUrl(string $url)
Escape special characters (e.g. spaces) that may occur in parts of a HTTP URL.
We do not use urlencode or rawurlencode because they encode some characters (e.g. "+") that should not be changed in the URL.