ok
Direktori : /home2/selectio/www/myclassicfit.com-1/vendor/league/glide/docs/1.0/config/ |
Current File : //home2/selectio/www/myclassicfit.com-1/vendor/league/glide/docs/1.0/config/source-and-cache.md |
--- layout: default title: Source & cache --- # Source & cache Glide makes it possible to access images stored in a variety of file systems. It does this using the [Flysystem](http://flysystem.thephpleague.com/) file system abstraction library. For example, you may choose to store your source images on [Amazon S3](http://aws.amazon.com/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](http://flysystem.thephpleague.com/) for a complete list of available adapters. ~~~ php <?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 <?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 <?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'); ~~~ ## Set a base URL It's common to route all images under the path `/img/`. However, since Glide maps the image request path directly to the image source path, you would need to have an `/img/` folder in your source location as well. For example: ~~~ js 'http://example.com/img/kayaks.jpg' => '/path/to/source/img/kayaks.jpg' ~~~ The `base_url` allows you to define which part of the URL should be omitted from the source path. ~~~ php <?php // Set using factory $server = League\Glide\ServerFactory::create([ 'base_url' => '/img/', ]); // Set using setter method $server->setBaseUrl('/img/'); ~~~ With the base URL configured, the new image source paths will no longer include `/img/`. ~~~ js 'http://example.com/img/kayaks.jpg' => '/path/to/source/kayaks.jpg' ~~~ ## Disabling the cache In some situations it may be desirable to disable the cache. For example, you may choose to use a tool like Varnish for caching instead. The best way to do this with Glide is to use an [in-memory adapter](http://flysystem.thephpleague.com/adapter/memory/) for Flysystem. This will prevent any cached images from being saved to your local disk. ## Grouping cache in folders By default Glide groups cached images into folders. For example, all variations of `kayaks.jpg` will be found in a `/path/to/cache/folder/kayaks.jpg` folder. If you'd prefer to have all cached images in the same folder, this can be done in two ways: ~~~ php <?php // Set using factory $server = League\Glide\ServerFactory::create([ 'group_cache_in_folders' => false ]); // Set using setter method $server->setGroupCacheInFolders(false); ~~~ ## Deleting cached images Glide does not automatically purge cached images. However, this can be done by your application using the `deleteCache()` method. Note, grouping cache in folders MUST be enabled in order to delete cached images, which is the default setting. ~~~ php <?php $server->deleteCache('kayaks.jpg'); ~~~