• Stars
    star
    487
  • Rank 90,352 (Top 2 %)
  • Language
    PHP
  • Created almost 10 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

阿里云 OSS 官方 SDK 的 Composer 封装,支持任何 PHP 项目,包括 Laravel、Symfony、TinyLara 等等。

AliyunOSS

    ___     __    _                                    ____    _____   _____
   /   |   / /   (_)   __  __  __  __   ____          / __ \  / ___/  / ___/
  / /| |  / /   / /   / / / / / / / /  / __ \        / / / /  \__ \   \__ \
 / ___ | / /   / /   / /_/ / / /_/ /  / / / /       / /_/ /  ___/ /  ___/ /
/_/  |_|/_/   /_/    \__, /  \__,_/  /_/ /_/        \____/  /____/  /____/
                    /____/

AliyunOSS 是阿里云 OSS 官方 SDK 的 Composer 封装,支持任何 PHP 项目,包括 Laravel、Symfony、TinyLara 等等。

适配 Laravel 7 的新包已经发布:AliyunOSS-Laravel7

更新记录

  • 2017-03-08 Release v2.0.0 v2 发布,在 API 易用性上进行了大量优化
  • 2016-09-12 Release v1.3.5 加入文件元信息的设置功能
  • 2016-07-20 Release v1.3.4 加入文件元信息的获取功能
  • 2016-01-31 Release v1.3.2 获取指定虚拟文件夹下的所有文件
  • 2015-10-23 Release v1.3 增加删除、复制、移动文件功能
  • 2015-08-07 Release v1.2 修复内存泄露 bug
  • 2015-01-12 Release v1.1 增加内外网配置分离
  • 2015-01-09 Release v1.0 完善功能,增加 Laravel 框架详细使用教程及代码

安装

安装有两种方式:

① 直接编辑配置文件

将以下内容增加到 composer.json:

require: {
    "johnlui/aliyun-oss": "~2.0"
}

然后运行 composer update

② 执行命令安装

运行命令:

composer require johnlui/aliyun-oss:~2.0

使用(以 Laravel 为例)

构建 Service 文件

新建 app/services/OSS.php,内容可参考:OSS.php,然后修改配置:

... ...

  private $city = '青岛';

  // 经典网络 or VPC
  private $networkType = '经典网络';
  
  private $AccessKeyId = '';
  private $AccessKeySecret = '';

... ...

放入自动加载

遵循 psr-0 的项目(如Laravel 4、CodeIgniter、TinyLara)中:

composer.jsonautoload -> classmap 处增加配置:

"autoload": {
    "classmap": [
      "app/services"
    ]
  }

然后运行 composer dump-autoload

遵循 psr-4 的项目(如 Laravel 5、Symfony)中:

无需配置,保证目录 App/Services 和命名空间 namespace App\Services; 一致即可自动加载。

使用

use App\Services\OSS;

// 在外网上传一个文件并指定 options 如:Content-Type 类型
// 更多 options 见:https://github.com/johnlui/AliyunOSS/blob/master/src/oss/src/Aliyun/OSS/OSSClient.php#L142-L148
OSS::publicUpload('bucket', '目标 object 名', '本地文件绝对路径', [
    'ContentType' => 'application/pdf',
    ... ...
]);

更多用法等待着你去发现

Symfony 3 用法示例

如果你正在使用基于 Symfony 创建的第三方应用程序,而又恰好不懂命名空间及 Composer 自动加载,那么看下面就知道本库在 Symfony 中的用法了:

构建 Service 文件

新建 src/AppBundle/Services/OSS.php,内容参考:OSS.php

修改顶部的命名空间为 namespace AppBundle\Services;

放入自动加载

无需配置。

使用

use AppBundle\Services\OSS;

OSS::publicUpload('bucket', '目标 object 名', '本地文件绝对路径');

反馈

有问题请到 http://lvwenhan.com/laravel/425.html 下面留言。

License

除 “版权所有(C)阿里云计算有限公司” 的代码文件外,遵循 MIT license 开源。

More Repositories

1

Learn-Laravel-5

Laravel 5 系列入门教程
PHP
3,511
star
2

PPHC

📙《高并发的哲学原理》开源图书(CC BY-NC-ND)
Rust
2,666
star
3

SwiftSideslipLikeQQ

再造 “手机QQ” 侧滑菜单
Swift
1,670
star
4

AutoLayout

Auto Layout 秘境
Swift
1,216
star
5

Pitaya

🏇 A Swift HTTP / HTTPS networking library just incidentally execute on machines
Swift
845
star
6

SwiftNotice

GUI library for displaying various popups (HUD), written in pure Swift.
Swift
839
star
7

JSONNeverDie

Auto reflection tool from JSON to Model, user friendly JSON encoder / decoder, aims to never die
Swift
453
star
8

Swift-MMP

🎧 Stream Material-design Music Player written by Swift for iOS.
Swift
367
star
9

Swift-On-iOS

JohnLui 的 Swift On iOS 代码仓库
Swift
350
star
10

FireUpYourVPN

在通知中心一键启用 VPN
Swift
310
star
11

Learn-Laravel-4

Laravel 4 系列入门教程 代码示例
PHP
215
star
12

DIYSearchEngine

🔍 Go 开发的开源互联网搜索引擎,附教程《自己动手开发互联网搜索引擎》
Go
135
star
13

My-First-Framework-based-on-Composer

利用 Composer 一步一步构建自己的 PHP 框架 代码示例
PHP
111
star
14

LaraDuoshuo

Laravel 5 实现的私有评论系统,用于 Hexo、Jekyll 等静态博客系统
PHP
92
star
15

CodeIgniter-2-with-Eloquent

CodeIgniter 2.2.0 with Eloquent
PHP
42
star
16

MarkDown-for-Emlog

十分漂亮的 Markdown 编辑器,完美替代 Emlog 自带编辑器。
JavaScript
36
star
17

AliyunOSS-Laravel7

阿里云 OSS 官方 SDK 的 Composer 封装,专门支持 Laravel 7、Laravel 8
PHP
32
star
18

go_static

A simple static tool for any single page with golang, also can be used in Emlog platform for the whole website. 使用Go语言编写的跨平台的网站首页静态化工具[也适用于emlog整站(首页+文章+页面)静态化]
Go
26
star
19

KillTYZ

KillTYZ 干掉拖延症
PHP
23
star
20

JSON-API-for-Emlog

强大的 JSON 格式的数据输出插件,为 Emlog 而生。
PHP
6
star
21

GraphQL-Laravel

A Laravel GraphQL reference implementation forked from webonyx/graphql-php
PHP
3
star
22

Ultimo-emlog

Ultimo 主题 for Emlog
PHP
2
star
23

Change

a Emlog template
PHP
1
star
24

PHPSwift

Write Swift like PHP, just for fun.
Swift
1
star