ユーザ用ツール

サイト用ツール

Writing /var/www/vhosts/w629.ws.domainking.cloud/enjoy-lei.com/lei_wiki/data/cache/e/eec9bba5c235c5be835af10eb0c2753c.i failed
Unable to save cache file. Hint: disk full; file permissions; safe_mode setting.
Writing /var/www/vhosts/w629.ws.domainking.cloud/enjoy-lei.com/lei_wiki/data/cache/e/eec9bba5c235c5be835af10eb0c2753c.metadata failed

s3処理プログラムclass版
Writing /var/www/vhosts/w629.ws.domainking.cloud/enjoy-lei.com/lei_wiki/data/cache/e/eec9bba5c235c5be835af10eb0c2753c.i failed
Unable to save cache file. Hint: disk full; file permissions; safe_mode setting.
Writing /var/www/vhosts/w629.ws.domainking.cloud/enjoy-lei.com/lei_wiki/data/cache/e/eec9bba5c235c5be835af10eb0c2753c.xhtml failed

s3処理プログラムclass版

メイン処理

// AWSプラグイン使用
require_once(PRJ_CORE_DIR . "sws_sdk_php/aws-autoloader.php");

// 使用タイム設定
ini_set('date.timezone', 'Asia/Tokyo');

// インスタンスを生成
use Aws\S3\S3Client;
use Aws\Common\Enum\Region;


class S3Controller {

	/* S3アクセスキー*/
	 const S3_ACCESS_KEY = '***';

	/* S3シークレットキー*/
	 const S3_SECRET_KEY = '***';

	/* S3リージョン*/
	 const S3_REGION = Region::TOKYO;

	/* S3ベースURL*/
	 const S3_BASE_URL =  'http://***';
	
	/* S3用バケット名*/
	 const S3_BUCKET = '***';

	/* S3用しまじろう動画ファイルパス*/
	 const S3_FILE_PATH = '';

	/* S3用動作アクセス制限時間*/
	 const S3_TIME_LIMIT = '30 minutes';

	/* S3オブジェクト */
	 public $_s3;

	public function getS3OneTimeURL($movieInfoArray=null)
	{
		
		// 動画ファイル名の設定
		$movieFileName = self::S3_FILE_PATH . 「ファイル名」;

		// ==========================================================================メイン処理
		// S3接続(キー、シークレットキー、リージョン)
		$this->connectObject(self::S3_ACCESS_KEY, self::S3_SECRET_KEY, self::S3_REGION, self::S3_BASE_URL);

		// S3ファイル存在チェック
		$result = $this->doesObjectExist(self::S3_BUCKET , $movieFileName);
		if($result === false){
			// S3動画取得失敗でログ出力
			echo self::S3_ACCESS_KEY.' | '.self::S3_SECRET_KEY.' | '.self::S3_BASE_URL.' | '.self::S3_BUCKET.' | '.$movieFileName;
			
			return false;
		}
		
		// S3ワンタイム動画がURLで返す
		return $this->getObjectUrl(self::S3_BUCKET, $movieFileName, self::S3_TIME_LIMIT);
		
	}

S3処理ファンクション

	/**
	 * S3に対象オブジェクト接続
	 * @param type $key			// アクセスキー
	 * @param type $pass		// シークレットキー
	 * @param type $region		// リージョン
	 * @param type $baseUrl		// ベースURL
	 * @return Object $this->_s3
	*/
	public function connectObject($key, $pass, $region=null, $baseUrl=null) {
		$optinArray = array();
		$optinArray['key'] = $key;
		$optinArray['secret'] = $pass;
		$optinArray['region'] = $region;		// サーバは日本にある場合不要
		//$optinArray['base_url'] = $baseUrl;		// サーバーベースURL設定不要場合がある
		// 接続
		$this->_s3 = S3Client::factory($optinArray);

	}
	
	
	/**
	 * S3に対象オブジェクトが存在チェック。
	 * @param type $bucket
	 * @param type $key
	 * @return boolean 存在する場合はtrue、しない場合はfalse
	*/
	public function doesObjectExist($bucket, $key) {
		// ファイル存在チェック
		return $this->_s3->doesObjectExist($bucket, $key);
	}
	
	
	/**
	 * S3に対象オブジェクトのワンタイムURLで返す
	 * @param type $bucket
	 * @param type $fileName
	 * @param type $timeLimit
	 * @return OneTimeURL
	*/
	public function getObjectUrl($bucket, $fileName, $timeLimit) {
		// ワンタイムURL取得
		return $this->_s3->getObjectUrl($bucket, $fileName, $timeLimit);
	}
	
	
	/**
	 * S3に対象オブジェクト抽出
	 * @param type $bucket
	 * @param type $fileName
	 * @return Object 返す
	*/
	public function getObject($bucket, $fileName) {
		$optinArray = array();
		$optinArray['Bucket'] = $bucket;
		$optinArray['Key'] = $fileName;
		// オブジェクト取得
		return $this->_s3->getObject($optinArray);
	}
s3処理プログラムclass版.txt · 最終更新: 2015/01/08 11:14 by luis_lee