PHPackages                             bfyang5130/yii2-aliyun-oss - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. bfyang5130/yii2-aliyun-oss

ActiveLibrary

bfyang5130/yii2-aliyun-oss
==========================

阿里云OSS官方SDK的Composer封装，支持Yii2。

1.0(7y ago)0111MITPHPPHP &gt;=5.4.0

Since Sep 27Pushed 7y ago1 watchersCompare

[ Source](https://github.com/bfyang5130/yii2-aliyun-oss)[ Packagist](https://packagist.org/packages/bfyang5130/yii2-aliyun-oss)[ Docs](https://github.com/chonder/yii2-aliyun-oss)[ RSS](/packages/bfyang5130-yii2-aliyun-oss/feed)WikiDiscussions master Synced yesterday

READMEChangelog (1)DependenciesVersions (2)Used By (1)

\###yii2-aliyun-oss

阿里云OSS官方SDK的Composer封装，支持Yii2。 基于 修改，感谢johnlui写的这个，对我开发很有帮助，我将这个支持Yii2了，并且开源出来，希望能帮到更多人。 添加删除文件的功能，修改getUrl（只返回文件外链url，不带其他参数）。

\###安装

$ php composer.phar require bfyang5130/yii2-aliyun-oss "dev-master"

\###Yii2使用

修改config/params.php

添加：

```
    'oss'=>array(
        'ossServer' => '', //服务器外网地址，深圳为 http://oss-cn-shenzhen.aliyuncs.com
        'ossServerInternal' => '', //服务器内网地址，深圳为 http://oss-cn-shenzhen-internal.aliyuncs.com
        'AccessKeyId' => '', //阿里云给的AccessKeyId
        'AccessKeySecret' => '', //阿里云给的AccessKeySecret
        'Bucket' => '' //创建的空间名
    ),
```

在components中创建Oss.php，内容如下：

```
namespace app\components;

use bfyang5130\AliyunOss\AliyunOSS;
use Yii;

class OSS {

    private $ossClient;

    public function __construct($isInternal = false)
    {
        $serverAddress = $isInternal ? Yii::$app->params['oss']['ossServerInternal'] : Yii::$app->params['oss']['ossServer'];
        $this->ossClient = AliyunOSS::boot(
            $serverAddress,
            Yii::$app->params['oss']['AccessKeyId'],
            Yii::$app->params['oss']['AccessKeySecret']
        );
    }

    public static function upload($ossKey, $filePath)
    {
        //$oss = new OSS(true); // 上传文件使用内网，免流量费
        $oss = new OSS();
        $oss->ossClient->setBucket(Yii::$app->params['oss']['Bucket']);
        $oss->ossClient->uploadFile($ossKey, $filePath);
    }

    public static function getUrl($ossKey)
    {
        $oss = new OSS();
        $oss->ossClient->setBucket(Yii::$app->params['oss']['Bucket']);
        return preg_replace('/(.*)\?OSSAccessKeyId=.*/', '$1', $oss->ossClient->getUrl($ossKey, new \DateTime("+1 day")));
    }

    public static function delFile($ossKey)
    {
        $oss = new OSS();
        $oss->ossClient->setBucket(Yii::$app->params['oss']['Bucket']);
        $oss->ossClient->delFile($ossKey);
    }

    public static function createBucket($bucketName)
    {
        $oss = new OSS();
        return $oss->ossClient->createBucket($bucketName);
    }

    public static function getAllObjectKey($bucketName)
    {
        $oss = new OSS();
        return $oss->ossClient->getAllObjectKey($bucketName);
    }

}
```

\###使用

```
use app\components\Oss;

OSS::upload('文件名', '本地路径'); // 上传一个文件

echo OSS::getUrl('某个文件的名称'); // 打印出某个文件的外网链接

OSS::createBucket('一个字符串'); // 新增一个 Bucket。注意，Bucket 名称具有全局唯一性，也就是说跟其他人的 Bucket 名称也不能相同。

OSS::getAllObjectKey('某个 Bucket 名称'); // 获取该 Bucket 中所有文件的文件名，返回 Array。
```

\###这个版本是做了修改，本扩展只适合作者适合，如果要使用请参考源码做调试。 ###License 除 “版权所有（C）阿里云计算有限公司” 的代码文件外，遵循 [MIT license](http://opensource.org/licenses/MIT) 开源。

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2785d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/9428130?v=4)[bfyang5130](/maintainers/bfyang5130)[@bfyang5130](https://github.com/bfyang5130)

---

Top Contributors

[![bfyang5130](https://avatars.githubusercontent.com/u/9428130?v=4)](https://github.com/bfyang5130 "bfyang5130 (1 commits)")

---

Tags

aliyunossAliyunOSS

### Embed Badge

![Health badge](/badges/bfyang5130-yii2-aliyun-oss/health.svg)

```
[![Health](https://phpackages.com/badges/bfyang5130-yii2-aliyun-oss/health.svg)](https://phpackages.com/packages/bfyang5130-yii2-aliyun-oss)
```

###  Alternatives

[johnlui/aliyun-oss

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

501178.3k6](/packages/johnlui-aliyun-oss)[jacobcyl/ali-oss-storage

aliyun oss filesystem storage for laravel 5+

523566.2k7](/packages/jacobcyl-ali-oss-storage)[alphasnow/aliyun-oss-laravel

alibaba cloud object storage service for laravel

182240.7k2](/packages/alphasnow-aliyun-oss-laravel)[johnlui/aliyun-oss-laravel7

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

347.8k1](/packages/johnlui-aliyun-oss-laravel7)[alphasnow/aliyun-oss-flysystem

Flysystem adapter for the Aliyun storage

14249.2k4](/packages/alphasnow-aliyun-oss-flysystem)[summergeorge/ali-oss-storage

aliyun oss filesystem storage for laravel 5+

3915.5k](/packages/summergeorge-ali-oss-storage)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
