superbalist/flysystem-google-storage
Composer 安装命令:
composer require superbalist/flysystem-google-storage
包简介
Flysystem adapter for Google Cloud Storage
README 文档
README
A Google Cloud Storage adapter for flysystem - a PHP filesystem abstraction.
Installation
composer require superbalist/flysystem-google-storage
Integrations
Want to get started quickly? Check out some of these integrations:
Usage
use Google\Cloud\Storage\StorageClient; use League\Flysystem\Filesystem; use Superbalist\Flysystem\GoogleStorage\GoogleStorageAdapter; /** * The credentials will be auto-loaded by the Google Cloud Client. * * 1. The client will first look at the GOOGLE_APPLICATION_CREDENTIALS env var. * You can use ```putenv('GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json');``` to set the location of your credentials file. * * 2. The client will look for the credentials file at the following paths: * - windows: %APPDATA%/gcloud/application_default_credentials.json * - others: $HOME/.config/gcloud/application_default_credentials.json * * If running in Google App Engine, the built-in service account associated with the application will be used. * If running in Google Compute Engine, the built-in service account associated with the virtual machine instance will be used. */ $storageClient = new StorageClient([ 'projectId' => 'your-project-id', ]); $bucket = $storageClient->bucket('your-bucket-name'); $adapter = new GoogleStorageAdapter($storageClient, $bucket); $filesystem = new Filesystem($adapter); /** * The credentials are manually specified by passing in a keyFilePath. */ $storageClient = new StorageClient([ 'projectId' => 'your-project-id', 'keyFilePath' => '/path/to/service-account.json', ]); $bucket = $storageClient->bucket('your-bucket-name'); $adapter = new GoogleStorageAdapter($storageClient, $bucket); $filesystem = new Filesystem($adapter); // write a file $filesystem->write('path/to/file.txt', 'contents'); // update a file $filesystem->update('path/to/file.txt', 'new contents'); // read a file $contents = $filesystem->read('path/to/file.txt'); // check if a file exists $exists = $filesystem->has('path/to/file.txt'); // delete a file $filesystem->delete('path/to/file.txt'); // rename a file $filesystem->rename('filename.txt', 'newname.txt'); // copy a file $filesystem->copy('filename.txt', 'duplicate.txt'); // delete a directory $filesystem->deleteDir('path/to/directory'); // see http://flysystem.thephpleague.com/api/ for full list of available functionality
Google Storage specifics
When using a custom storage uri the bucket name will not prepended to the file path.
$storageClient = new StorageClient([ 'projectId' => 'your-project-id', ]); $bucket = $storageClient->bucket('your-bucket-name'); $adapter = new GoogleStorageAdapter($storageClient, $bucket); // uri defaults to "https://storage.googleapis.com" $filesystem = new Filesystem($adapter); $filesystem->getUrl('path/to/file.txt'); // "https://storage.googleapis.com/your-bucket-name/path/to/file.txt" // set custom storage uri $adapter->setStorageApiUri('http://example.com'); $filesystem = new Filesystem($adapter); $filesystem->getUrl('path/to/file.txt'); // "http://example.com/path/to/file.txt" // You can also prefix the file path if needed. $adapter->setStorageApiUri('http://example.com'); $adapter->setPathPrefix('extra-folder/another-folder/'); $filesystem = new Filesystem($adapter); $filesystem->getUrl('path/to/file.txt'); // "http://example.com/extra-folder/another-folder/path/to/file.txt"
superbalist/flysystem-google-storage 适用场景与选型建议
superbalist/flysystem-google-storage 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 20.83M 次下载、GitHub Stars 达 264, 最近一次更新时间为 2015 年 10 月 16 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 superbalist/flysystem-google-storage 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 superbalist/flysystem-google-storage 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 20.83M
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 267
- 点击次数: 26
- 依赖项目数: 39
- 推荐数: 9
其他信息
- 授权协议: MIT
- 更新时间: 2015-10-16