aimeos / ai-filesystem
Aimeos file system layer extension
Installs: 23 231
Dependents: 1
Suggesters: 0
Security: 0
Stars: 10
Watchers: 7
Forks: 2
Open Issues: 0
Type:aimeos-extension
Requires
- php: ^8.0.11
- aimeos/aimeos-core: 2024.10.*
- league/flysystem: ~3.0
Requires (Dev)
- phpunit/phpunit: ~10.0||~11.0
- dev-master
- 2024.10.x-dev
- 2024.10.1
- 2024.07.x-dev
- 2024.07.1
- 2024.04.x-dev
- 2024.04.1
- 2024.01.x-dev
- 2023.10.x-dev
- 2023.10.1
- 2023.07.x-dev
- 2023.07.1
- 2023.04.x-dev
- 2023.04.1
- 2023.01.x-dev
- 2022.10.x-dev
- 2022.10.2
- 2022.10.1
- 2022.07.x-dev
- 2022.07.1
- 2022.04.x-dev
- 2022.04.1
- 2022.01.x-dev
- 2021.10.x-dev
- 2021.10.2
- 2021.10.1
- 2021.07.x-dev
- 2021.07.1
- 2021.04.x-dev
- 2021.04.1
- 2021.01.x-dev
- 2020.10.x-dev
- 2020.10.2
- 2020.10.1
- 2020.07.x-dev
- 2020.07.1
- 2020.04.x-dev
- 2020.04.1
- 2020.01.x-dev
- 2020.01.1
- 2019.10.x-dev
- 2019.10.1
- 2019.07.x-dev
- 2019.07.1
- 2019.04.x-dev
- 2019.04.2
- 2019.04.1
- 2019.01.x-dev
- 2019.01.1
- 2018.10.x-dev
- 2018.10.2
- 2018.10.1
- 2018.07.x-dev
- 2018.07.1
- 2018.04.x-dev
- 2018.04.1
- 2018.01.x-dev
- 2018.01.2
- 2018.01.1
- 2017.10.x-dev
- 2017.10.1
- 2017.07.x-dev
- 2017.07.2
- 2017.07.1
- 2017.04.x-dev
- 2017.04.1
- 2017.03.x-dev
- 2017.02.x-dev
- 2017.01.x-dev
- 2017.01.2
- 2017.01.1
- 2016.10.x-dev
- 2016.10.1
- 2016.07.x-dev
- 2016.07.2
- 2016.07.1
- 2016.04.x-dev
- 2016.01.x-dev
- 2016.01.2
- dev-scrutinizer-patch-1
This package is auto-updated.
Last update: 2024-11-03 11:41:02 UTC
README
Aimeos file system extension
The Aimeos file system extension contains adapter for storing files in the cloud, on remote servers or other storage facilities.
Table of contents
Installation
As every Aimeos extension, the easiest way is to install it via composer. If you don't have composer installed yet, you can execute this string on the command line to download it:
php -r "readfile('https://getcomposer.org/installer');" | php -- --filename=composer
Then, install the extension using composer:
composer req aimeos/ai-filesystem
Configuration
All file system adapter are configured below the resource/fs
configuration key, e.g. in the resource section of your config file:
'resource' => [
'fs' => [
// file system adapter specific configuration
],
],
Amazon S3
Required adapter:
composer req league/flysystem-aws-s3-v3
Configuration:
'fs' => [
'adapter' => 'FlyAwsS3',
'credentials' => [
'key' => 'your-key',
'secret' => 'your-secret',
],
'region' => 'your-region',
'version' => 'latest|api-version',
'bucket' => 'your-bucket-name',
'prefix' => 'your-prefix', // optional
'baseurl' => 'https://your-s3-endpoint' // 'https://bucket-name.s3.us-east-2.amazonaws.com'
],
Azure
Required adapter (PHP 8.x only):
composer req league/flysystem-azure-blob-storage
Configuration:
'fs' => [
'adapter' => 'FlyAzure',
'endpoint' => 'DefaultEndpointsProtocol=https;AccountName=your-account;AccountKey=your-api-key',
'container' => 'your-container',
'prefix' => 'your-prefix', // optional
],
Dropbox
Required adapter:
composer req spatie/flysystem-dropbox
Configuration:
'fs' => [
'adapter' => 'FlyDropbox',
'accesstoken' => 'your-access-token'
],
FTP
Required adapter:
composer req league/flysystem-ftp
Configuration:
'fs' => [
'adapter' => 'FlyFtp',
'host' => 'your-hostname-or-ipaddress',
'username' => 'your-username',
'password' => 'your-password',
'root' => '/path/to/basedir',
'port' => 21, // optional
'passive' => true, // optional
'ssl' => true, // optional
'timeout' => 30, // optional
'utf8' => false, // optional
'transferMode' => FTP_BINARY, // optional
'systemType' => null, // 'windows' or 'unix'
'ignorePassiveAddress' => null, // true or false
'timestampsOnUnixListingsEnabled' => false, // true or false
'recurseManually' => true // true
],
Google Cloud
Required adapter:
composer req league/flysystem-google-cloud-storage
Configuration:
'fs' => [
'adapter' => 'FlyGoogleCloud',
'keyFile' => json_decode(file_get_contents('/path/to/keyfile.json'), true), // alternative
'keyFilePath' => '/path/to/keyfile.json', // alternative
'projectId' => 'myProject', // alternative
'prefix' => 'your-prefix' // optional
],
For authentication details, have a look at the Google Cloud client documentation.
Local
Configuration:
'fs' => [
'adapter' => 'FlyLocal',
'basedir' => 'your-basedir-path',
],
Memory
Required adapter:
composer req league/flysystem-memory
Configuration:
'fs' => [
'adapter' => 'FlyMemory',
],
SFTP
Required adapter:
composer req league/flysystem-sftp
Configuration:
'fs' => [
'adapter' => 'FlySftp',
'host' => 'your-hostname-or-ipaddress',
'port' => 22, // optional
'username' => 'your-username', // optional
'password' => 'your-password', // optional
'privateKey' => 'path/to/or/contents/of/private/key', // optional
'passphrase' => 'passphrase-for-the-private-key', // optional
'fingerprint' => 'fingerprint-string', // optional
'timeout' => 10, // optional
'retry' => 4, // optional
'agent' => true // optional
],
WebDAV
Required adapter (PHP 8.x only):
composer req league/flysystem-webdav
Configuration:
'fs' => [
'adapter' => 'FlyWebdav',
'baseUri' => 'your-webdav-uri',
'proxy' => 'your-proxy', // optional
'userName' => 'your-username', // optional
'password' => 'your-password', // optional
'authType' => 'authentication-type', // optional, 1=Basic, 2=Digest, 4=NTLM
'encoding' => 'encoding-type', // optional, 1=None, 2=Deflate, 4=Gzip, 7=All
'prefix' => 'your-prefix', // optional
],
Zip archive
Required adapter:
composer req league/flysystem-ziparchive
Configuration:
'fs' => [
'adapter' => 'FlyZip',
'filepath' => '/path/to/zipfile',
],
License
The Aimeos filesystem extension is licensed under the terms of the LGPLv3 Open Source license and is available for free.