thanatosxia/yii2-oss

基于 aliyun/aliyun-oss-php-sdk 的 yii2 的 Aliyun Oss SDK

1.2.8 2018-07-24 05:46 UTC

This package is auto-updated.

Last update: 2024-09-18 21:00:18 UTC


README

基于 Aliyun Oss 的 Yii 2 扩展 SDK


基于 aliyun/aliyun-oss-php-sdk

Latest Stable Version Total Downloads Latest Unstable Version

安装

composer require thanatosxia/yii2-oss

使用

添加Oss组件

'oss' => [
    'class' => 'thanatos\oss\Oss',
    'accessKeyId' => '', // Your accessKeyId
    'accessKeySecret' => '', // Your accessKeySecret
    'endpoint' => '', // endpoint address
    'bucket' => '', // Bucket Name
],

上传文件

/**
 * $object 目标文件名
 * $content 二进制文件内容
 * $options 其它参数
 */
Yii::$app->oss->putObject($object, $content, $options);

删除文件

/**
 * $object 目标文件名
 * $options 其它参数
 */
Yii::$app->oss->deleteObject($object, $options);

添加了可以上传远程文件的功能,可以直接使用,上传远程文件

Yii::$app->oss->putObjectOrigin($object, $url, $options);

在WEB上传,PHP回调处理文件

// 配置文件中增加一下选项
'oss' => [
    'accessKeyId' => 'xxxx',
    'accessKeySecret' => 'xxxx',
    'endpoint' => 'xxx',
    'bucket' => '',
    'callbackUrl' => '上传成功OSS请求的路径',
    // 自定义的上传回掉的参数
    'callbackParams' => [
        'user_id',
        'method',
        'folder_id'
    ]
],

// 获取OSS 签名 (dir 是允许前端上传的目录前缀)
return Yii::$app->oss->getSignature($dir);

说明

Oss 类重新封装了官方的类,官方类中所有方法均可使用,中间加入了单例机制和规范的返回值。 原使用方式

$ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
$ossClient->putObject($bucket, $object, $content);

现在使用方式

Yii::$app->oss->putObject($object, $content, $options);

如有需要操作多个Bucket的情况,重置Bucket后操作

Yii::$app->oss->setBucket($bucket);
Yii::$app->oss->putObject($object, $content, $options);

感谢您使用这个包!