katsukii/cakephp2_aws_s3_datasource

CakePHP 插件

安装次数: 32,426

依赖者: 0

建议者: 0

安全性: 0

星级: 1

关注者: 2

分支: 9

类型:cakephp-plugin

dev-master 2019-05-06 05:04 UTC

This package is auto-updated.

Last update: 2024-09-06 16:53:43 UTC


README

这是一个支持 CakePHP2 操作 Amazon Web Services S3 文件的数据库插件。

初始设置

下载插件(也可以是子模块)

$cd app/Plugin
$git clone git@github.com:zaru/Cakephp2_AWS_S3_DataSource.git AmazonWebServices

或者从 GitHub 下载 ZIP 文件到 app/Plugin 目录下,命名为 AmazonWebServices。

在 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');
		
	}
}