peraichi / cakephp2_aws_s3_datasource
CakePHP 插件
dev-master
2020-08-26 08:11 UTC
Requires
- php: >=5.4
This package is auto-updated.
Last update: 2024-09-26 17:12:21 UTC
README
这是一个 CakePHP2 的插件,支持操作 Amazon Web Services S3 的文件的数据源插件。
初始设置
插件下载(submodule 也可以,但最好是)
$cd app/Plugin
$git clone git@github.com:HotStartup/Cakephp2_AWS_S3_DataSource.git AmazonWebServices
或者从 GitHub 以 ZIP 格式下载,并将 AmazonWebServices 命名放置在 app/Plugin 中。
在 app/Config/bootstrap.php 中
CakePlugin::load('AmazonWebServices');
并请记住加载此插件。
在 app/Config/database.php 中
class DATABASE_CONFIG {
//...
public $s3 = array(
'datasource' => 'AmazonWebServices.S3',
'bucket_name' => '',
'key' => '',
'secret' => '',
'default_cache_config' => '',
'certificate_authority' => false
);
}
并写入 AWS 的配置。
之后,准备一个合适的模型文件,并将 $useDbConfig 设置为上述数据库配置。
<?php
class Amazon extends AppModel {
public $name = 'Amazon';
public $useDbConfig = 's3';
}
使用方法
在适当的控制器中
<?php
App::uses('AppController', 'Controller');
class HogeController extends AppController {
public $name = 'Hoge';
public $uses = array('Amazon');
public function s3() {
// アップロード
$result = $this->Amazon->putFile(APP . WEBROOT_DIR . '/img/cake.power.gif', '/img/cake.power.gif');
// 削除
$result = $this->Amazon->deleteFile('/img/cake.power.gif');
// 移動
$result = $this->Amazon->moveFile('/img/cake.power.gif', '/img/cake.power2.gif');
// コピー
$result = $this->Amazon->copyFile('/img/cake.power.gif', '/img/cake.power2.gif');
}
}