Source & cache
Glide makes it possible to access images stored in a variety of file systems. It does this using the Flysystem file system abstraction library. For example, you may choose to store your source images on Amazon S3, but keep your rendered images (the cache) on the local disk.
Setup using Flysystem
To set your source and cache locations, simply pass an instance of League\Flysystem\Filesystem
for each. See the Flysystem website for a complete list of available adapters.
<?php
use League\Flysystem\Adapter\Local;
use League\Flysystem\Filesystem;
use League\Glide\ServerFactory;
// Setup Glide server
$server = ServerFactory::create([
'source' => new Filesystem(new Local('path/to/source/folder')),
'cache' => new Filesystem(new Local('path/to/cache/folder')),
]);
Setup using local disk
Alternatively, if you are only using the local disk, you can simply provide the paths as a string.
<?php
$server = League\Glide\ServerFactory::create([
'source' => 'path/to/source/folder',
'cache' => 'path/to/cache/folder',
]);
Set default path prefix
While it’s normally possible to set the full source and cache path using Flysystem, there are situations where it may be desirable to set a default path prefix. For example, when only one instance of the Filesystem
is available.
<?php
// Set using factory
$server = League\Glide\ServerFactory::create([
'source' => $filesystem,
'cache' => $filesystem,
'source_path_prefix' => 'source',
'cache_path_prefix' => 'cache',
]);
// Set using setter methods
$server->setSourcePathPrefix('source');
$server->setCachePathPrefix('cache');