- Notifications
You must be signed in to change notification settings - Fork0
阿里云OSS laravel storage Filesystem adapter, 打造Laravel最好的OSS Storage扩展.
License
gai871013/Aliyun-oss-storage
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Aliyun oss filesystem storage adapter for laravel 5. You can use Aliyun OSS just like laravel Storage as usual.
借鉴了一些优秀的代码,综合各方,同时做了更多优化,将会添加更多完善的接口和插件,打造Laravel最好的OSS Storage扩展
解决PHP8.0 Required parameter $cdnDomain follows optional parameter 错误
- Laravel 5+
- cURL extension
In order to install AliOSS-storage, just add
"gai871013/ali-oss-storage": "^2.0"to your composer.json. Then runcomposer install orcomposer update.
Or you can simply run below command to install:
"composer require gai871013/ali-oss-storage:^2.0"Then in yourconfig/app.php add this line to providers array:
Gai871013\AliOSS\AliOssServiceProvider::class,
Add the following in app/filesystems.php:
'disks'=>[ ...'oss' => ['driver' =>'oss','access_id' =>'<Your Aliyun OSS AccessKeyId>','access_key' =>'<Your Aliyun OSS AccessKeySecret>','bucket' =>'<OSS bucket name>','endpoint' =>'<the endpoint of OSS, E.g: oss-cn-hangzhou.aliyuncs.com | custom domain, E.g:img.abc.com>',// OSS 外网节点或自定义外部域名'cdnDomain' =>'<CDN domain, cdn域名>',// 如果isCName为true, getUrl会判断cdnDomain是否设定来决定返回的url,如果cdnDomain未设置,则使用endpoint来生成url,否则使用cdn'ssl' =>true,// true to use 'https://' and false to use 'http://'. default is false,'isCName' =>false,// 是否使用自定义域名,true: 则Storage.url()会使用自定义的cdn或域名生成文件url, false: 则使用外部节点生成url'debug' =>false, ], ...]
Then set the default driver in app/filesystems.php:
'default' =>'oss',
Ok, well! You are finish to configure. Just feel free to use Aliyun OSS like Storage!
SeeLarave doc for StorageOr you can learn here:
First you must use Storage facade
useIlluminate\Support\Facades\Storage;
Then You can use all APIs of laravel Storage
Storage::disk('oss');// if default filesystems driver is oss, you can skip this step//fetch all files of specified bucket(see upond configuration)Storage::files($directory);Storage::allFiles($directory);Storage::put('path/to/file/file.jpg',$contents);//first parameter is the target file path, second paramter is file contentStorage::putFile('path/to/file/file.jpg','local/path/to/local_file.jpg');// upload file from local pathStorage::get('path/to/file/file.jpg');// get the file object by pathStorage::exists('path/to/file/file.jpg');// determine if a given file exists on the storage(OSS)Storage::size('path/to/file/file.jpg');// get the file size (Byte)Storage::lastModified('path/to/file/file.jpg');// get date of last modificationStorage::directories($directory);// Get all of the directories within a given directoryStorage::allDirectories($directory);// Get all (recursive) of the directories within a given directoryStorage::copy('old/file1.jpg','new/file1.jpg');Storage::move('old/file1.jpg','new/file1.jpg');Storage::rename('path/to/file1.jpg','path/to/file2.jpg');Storage::prepend('file.log','Prepended Text');// Prepend to a file.Storage::append('file.log','Appended Text');// Append to a file.Storage::delete('file.jpg');Storage::delete(['file1.jpg','file2.jpg']);Storage::makeDirectory($directory);// Create a directory.Storage::deleteDirectory($directory);// Recursively delete a directory.It will delete all files within a given directory, SO Use with caution please.// upgrade logs// new plugin for v2.0 versionStorage::putRemoteFile('target/path/to/file/jacob.jpg','http://example.com/jacob.jpg');//upload remote file to storage by remote url// new function for v2.0.1 versionStorage::url('path/to/img.jpg')// get the file url
More development detailseeAliyun OSS DOC
Source code is release under MIT license. Read LICENSE file for more information.
About
阿里云OSS laravel storage Filesystem adapter, 打造Laravel最好的OSS Storage扩展.
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Languages
- PHP100.0%