Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/NauxLiu/Laravel-Oss
Laravel专用OSS扩展包
https://github.com/NauxLiu/Laravel-Oss
Last synced: about 1 month ago
JSON representation
Laravel专用OSS扩展包
- Host: GitHub
- URL: https://github.com/NauxLiu/Laravel-Oss
- Owner: nauxliu
- Created: 2015-01-26T09:53:42.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2018-07-28T02:23:26.000Z (over 6 years ago)
- Last Synced: 2024-07-31T12:07:49.378Z (4 months ago)
- Language: PHP
- Homepage:
- Size: 14.6 KB
- Stars: 28
- Watchers: 4
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- favorite-link - Laravel 专用 OSS 扩展包。
README
# Laravel-Oss
专用于Laravel的阿里云OSS扩展包## 安装
#### 添加依赖
添加
```
"naux/laravel-oss": "1.*"
```
到你的`composer.json`文件的`require`中,
执行`composer install` 或 `composer update`。#### 注册Provider
在你的 `config/app.php`文件 `providers`数组中中添加`'Naux\LaravelOss\LaravelOssServiceProvider'`。#### 配置
执行命令`php artisan config:publish naux/laravel-oss`
然后到`app/config/packages/naux/laravel-oss/config.php`文件中按照注释修改配置。## 实例
```php
//删除bucket foo下的bar对象
OSS::bucket('foo')->delete('bar');//上面选择了bucket,后面的操作都不用重复
//上传请求中的文件
OSS::upload('foobar', Input::file('image'));//取得directory目录下的所有对象信息
foreach(OSS::files('directory') as $file){
//do something
}
```
## 使用
#### 获取原生OSSClient对象
```
OSS::getClient();
```
#### 选择bucket
```php
OSS::bucket('foo');
```
> 如果在配置文件中设置了`default`字段,就不需要选择#### 删除bucket
```php
OSS::bucket('foo')->destroy();
```
#### 创建新的bucket
```php
OSS::create('foo');//创建bucket同时设置权限
OSS::create('foo', 'public');
```
权限选项:
1. `private`私有(默认)
2. `public-read`公共读
3. `public-read-write` 公共读写#### 获取所有bucket
```php
//当前账号拥有的所有bucket
OSS::buckets();
```
#### 上传文件
```php
//根据路径上传文件
OSS::upload('foobar', '/temps/file');//上传文件,同时设置其他信息
OSS::upload('foobar', '/temps/file', [
'Expires' => new \DateTime("+5 minutes"),
'Content-Type' => 'foo',
//...
]);//上传请求中的文件
OSS::update('foobar', Input::file('foobar'));
```
> 使用`Input::file()`上传的文件,会被自动设置`ContentType`#### 删除object
```php
OSS::delete('object_key');//同时删除多个
OSS::delete(['object_key1', 'object_key2']);
```#### 拷贝Object
```php
OSS::copy('from', 'to');//从当前的bucket拷贝到其他bucket
OSS::copy('from', 'to', 'another_bucket');
```#### 移动Object
```php
OSS::move('from', 'to');//从当前的bucket其他bucket并重命名
OSS::move('from', 'to', 'another_bucket');
```#### 获取所有Object列表
```php
OSS::objects();//方法声明
//public function objects($start = 0, $limit = 100, $prefix = '', $delimiter = ''){}
```
参数 [参考文档](http://aliyun_portal_storage.oss.aliyuncs.com/oss_api/oss_phphtml/object.html#id7)#### 获取指定目录下Object列表
```php
//获得temps目录下所有object列表
OSS::files('temps');
```