PHP code example of t-kanstantsin / yii2-flysystem
1. Go to this page and download the library: Download t-kanstantsin/yii2-flysystem library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
t-kanstantsin / yii2-flysystem example snippets
return [
//...
'components' => [
//...
'fs' => [
'class' => 'creocoder\flysystem\LocalFilesystem',
'path' => '@webroot/files',
],
],
];
return [
//...
'components' => [
//...
'ftpFs' => [
'class' => 'creocoder\flysystem\FtpFilesystem',
'host' => 'ftp.example.com',
// 'port' => 21,
// 'username' => 'your-username',
// 'password' => 'your-password',
// 'ssl' => true,
// 'timeout' => 60,
// 'root' => '/path/to/root',
// 'permPrivate' => 0700,
// 'permPublic' => 0744,
// 'passive' => false,
// 'transferMode' => FTP_TEXT,
],
],
];
return [
//...
'components' => [
//...
'nullFs' => [
'class' => 'creocoder\flysystem\NullFilesystem',
],
],
];
return [
//...
'components' => [
//...
'awss3Fs' => [
'class' => 'creocoder\flysystem\AwsS3Filesystem',
'key' => 'your-key',
'secret' => 'your-secret',
'bucket' => 'your-bucket',
'region' => 'your-region',
// 'version' => 'latest',
// 'baseUrl' => 'your-base-url',
// 'prefix' => 'your-prefix',
// 'options' => [],
// 'endpoint' => 'http://my-custom-url'
],
],
];
return [
//...
'components' => [
//...
'azureFs' => [
'class' => 'creocoder\flysystem\AzureFilesystem',
'accountName' => 'your-account-name',
'accountKey' => 'your-account-key',
'container' => 'your-container',
],
],
];
return [
//...
'components' => [
//...
'copyFs' => [
'class' => 'creocoder\flysystem\CopyFilesystem',
'consumerKey' => 'your-consumer-key',
'consumerSecret' => 'your-consumer-secret',
'accessToken' => 'your-access-token',
'tokenSecret' => 'your-token-secret',
// 'prefix' => 'your-prefix',
],
],
];
return [
//...
'components' => [
//...
'dropboxFs' => [
'class' => 'creocoder\flysystem\DropboxFilesystem',
'token' => 'your-token',
'app' => 'your-app',
// 'prefix' => 'your-prefix',
],
],
];
return [
//...
'components' => [
//...
'googleCloudFs' => [
'class' => 'creocoder\flysystem\GoogleCloudFilesystem',
'projectId' => 'GOOGLE_PROJECT_ID',
'bucket' => 'GOOGLE_BUCKET',
'keyFilePath' => 'GOOGLE_KEY_FILE_PATH',
],
],
];
return [
//...
'components' => [
//...
'gridFs' => [
'class' => 'creocoder\flysystem\GridFSFilesystem',
'server' => 'mongodb://localhost:27017',
'database' => 'your-database',
],
],
];
return [
//...
'components' => [
//...
'rackspaceFs' => [
'class' => 'creocoder\flysystem\RackspaceFilesystem',
'endpoint' => 'your-endpoint',
'region' => 'your-region',
'username' => 'your-username',
'apiKey' => 'your-api-key',
'container' => 'your-container',
// 'prefix' => 'your-prefix',
],
],
];
return [
//...
'components' => [
//...
'sftpFs' => [
'class' => 'creocoder\flysystem\SftpFilesystem',
'host' => 'sftp.example.com',
// 'port' => 22,
'username' => 'your-username',
'password' => 'your-password',
'privateKey' => '/path/to/or/contents/of/privatekey',
// 'timeout' => 60,
// 'root' => '/path/to/root',
// 'permPrivate' => 0700,
// 'permPublic' => 0744,
],
],
];
return [
//...
'components' => [
//...
'webdavFs' => [
'class' => 'creocoder\flysystem\WebDAVFilesystem',
'baseUri' => 'your-base-uri',
// 'userName' => 'your-user-name',
// 'password' => 'your-password',
// 'proxy' => 'your-proxy',
// 'authType' => \Sabre\DAV\Client::AUTH_BASIC,
// 'encoding' => \Sabre\DAV\Client::ENCODING_IDENTITY,
// 'prefix' => 'your-prefix',
],
],
];
return [
//...
'components' => [
//...
'ziparchiveFs' => [
'class' => 'creocoder\flysystem\ZipArchiveFilesystem',
'path' => '@webroot/files/archive.zip',
// 'prefix' => 'your-prefix',
],
],
];
return [
//...
'components' => [
//...
'fsID' => [
//...
'cache' => 'cacheID',
// 'cacheKey' => 'flysystem',
// 'cacheDuration' => 3600,
],
],
];
return [
//...
'components' => [
//...
'fsID' => [
//...
'replica' => 'anotherFsID',
],
],
];
return [
//...
'components' => [
//...
'fsID' => [
//...
'config' => [
'visibility' => \League\Flysystem\AdapterInterface::VISIBILITY_PRIVATE,
],
],
],
];
return [
//...
'components' => [
//...
'fs' => [
//... other config settings of compnent
'pluginArray' => [
// list of plugin classes, e.g.
],
],
],
];
Yii::$app->fs->write('filename.ext', 'contents');
$stream = fopen('/path/to/somefile.ext', 'r+');
Yii::$app->fs->writeStream('filename.ext', $stream);
Yii::$app->fs->update('filename.ext', 'contents');
$stream = fopen('/path/to/somefile.ext', 'r+');
Yii::$app->fs->updateStream('filename.ext', $stream);
Yii::$app->fs->put('filename.ext', 'contents');
$stream = fopen('/path/to/somefile.ext', 'r+');
Yii::$app->fs->putStream('filename.ext', $stream);
$contents = Yii::$app->fs->read('filename.ext');
$stream = Yii::$app->fs->readStream('filename.ext');
$contents = stream_get_contents($stream);
fclose($stream);
$exists = Yii::$app->fs->has('filename.ext');
Yii::$app->fs->delete('filename.ext');
$contents = Yii::$app->fs->readAndDelete('filename.ext');
Yii::$app->fs->rename('filename.ext', 'newname.ext');
$mimetype = Yii::$app->fs->getMimetype('filename.ext');
$timestamp = Yii::$app->fs->getTimestamp('filename.ext');
$timestamp = Yii::$app->fs->getSize('filename.ext');
Yii::$app->fs->createDir('path/to/directory');
Yii::$app->fs->write('path/to/filename.ext');
Yii::$app->fs->deleteDir('path/to/filename.ext');
use League\Flysystem\AdapterInterface;
Yii::$app->fs->write('filename.ext', 'contents', [
'visibility' => AdapterInterface::VISIBILITY_PRIVATE
]);
use League\Flysystem\AdapterInterface;
if (Yii::$app->fs->getVisibility('filename.ext') === AdapterInterface::VISIBILITY_PRIVATE) {
Yii::$app->fs->setVisibility('filename.ext', AdapterInterface::VISIBILITY_PUBLIC);
}
$contents = Yii::$app->fs->listContents();
foreach ($contents as $object) {
echo $object['basename']
. ' is located at' . $object['path']
. ' and is a ' . $object['type'];
}
$contents = Yii::$app->fs->listContents('path/to/directory', true);
$paths = Yii::$app->fs->listPaths();
foreach ($paths as $path) {
echo $path;
}
$listing = Yii::$app->fs->listWith(
['mimetype', 'size', 'timestamp'],
'optional/path/to/directory',
true
);
foreach ($listing as $object) {
echo $object['path'] . ' has mimetype: ' . $object['mimetype'];
}
$info = Yii::$app->fs->getWithMetadata('path/to/filename.ext', ['timestamp', 'mimetype']);
echo $info['mimetype'];
echo $info['timestamp'];
{
"type": "pear",
"url": "http://pear.php.net"
}