这个只是基于又拍云上面的一个小小的扩展,也是作了一个封装。
因为又拍云每次操作bucket都需要为它设置用户名和密码。如果我在一个controller里多次操作不同的bucket,有点麻烦 ,于是就做了一个小封装。
使用起来很简单,在配置文件main.php的components中加入一小段:

'components'=>array(
'upyun'=>'ext.upyun.EasyUpyun',
),

当然,如果有需要额外定制的变量,也可以参考其他组件的设置方法。

附件在这里,我就不多说了,贴上组件的注释:

/**
* EasyUpyun.php
* @example:
* Yii::app()->upyun->upload($domain,$savedname,$datas,$autoCreateDir=true);
* 这个是一个demo,推荐仍然使用upyun提供的API,这样就可以几乎不用改代码
* UpyunBase的用法是$upyun->setApiDomain('abc');
* 组件用法:Yii::app()->upyun->setApiDomain('bucket的别名','abc');
*
* @category upyun
* @package upyun
* @author gouki <gouki.xiao@gmail.com>
* @version $Id$
* @created 12-7-6 PM11:07
*/

再贴上变量的注释

/**
* 别名
* 因为又拍云的bucket的名字比较长,在开发的时候,如果用很长的bucket会很痛苦,因此就做了一个别名功能用来代替bucket
* @var array
*/
public $alias = array(
'static' => 'test-public'
);
/**
* 又拍云的bucket
* key 为 bucket
* value 为 bucket对应的用户名和密码,格式为“用户名:密码”
* @var array
*/
public $bucket = array(
'test-public' => 'admin:123456'
);
/**
* 又拍云API实例
* @var UpYun
*/
public $upyun;
/**
* 是否采用upyun的debug功能,该功能为全局打开,一旦开启,所有bucket涉及的debug都开启
* @var bool
*/
public $debug = FALSE;

Over,有想试用的,可以直接尝试下载附件。