はじめに
Cloudinaryについて、調べたこと、試したことのメモになります
間違っていたり、より良いアプローチがあったり、いろいろと至らない部分も多々あるかと思います
PHP SDK のインストール
PHP SDK のインストールには、Composer を使用する方法と、Composer を使用しない方法が用意されています
Composer を使う場合
composer.json に以下を記載
{
"require": {
"cloudinary/cloudinary_php": "dev-master"
}
}
インストール
$ php composer.phar install
Composer を使わない場合
Cloudinary の github からソース一式をダウンロードします
https://github.com/cloudinary/cloudinary_php/tarball/master
ダウンロードしたファイルを解凍し、autoload.php と src フォルダを任意の場所へコピーします
autoload.php と、必要に応じて Helpers.php を require します
require 'autoload.php';
require 'Helpers.php'; //optional for using the cl_image_tag and cl_video_tag helper methods
コンフィグの設定
準備するもの
Cloudinary のコンソールを開き、”Cloud name”、”API Key”、”API Secret”をメモしておきます
設定方法
Cloudinary クラスの config メソッドを使って設定します
\Cloudinary::config(array(
"cloud_name" => "my_cloud_name",
"api_key" => "my_key",
"api_secret" => "my_secret",
"secure" => true
));
私はこんな感じでやっています
フレームワークのコンフィグとして、以下のようなcloudinary用のファイルを用意し、読み込むようにしています
<?php
require_once __DIR__ . '/../vendor/cloudinary/autoload.php';
require_once __DIR__ . '/../vendor/cloudinary/src/Helpers.php';
Cloudinary::config(array(
'cloud_name' => 'my_cloud_name',
'api_key' => 'my_key',
'api_secret' => 'my_secret',
"secure" => true,
));
return array();
アップロードする
アップロードには、Uploader::upload 関数を使用します
$result = \Cloudinary\Uploader::upload($file, $option);
代表的なオプションについて
オプション名 | 型 | デフォルト | 説明 |
public_id | String | アップロードしたリソースに対する識別子 フォルダパスを含めた形での指定も可能 | |
folder | String | アップロードしたリソースの保存フォルダ | |
use_filename | Boolean | false | アップロードファイルのファイル名をそのまま使用するかどうか |
unique_filename | Boolean | true | ユニークなファイル名となるようにランダムな文字列を付与するかどうか |
type | String | “upload” | “private” または “authenticated” を指定することでリソースの公開を制限することが可能 |
overwrite | Boolean | true | 同一のpublic_idを上書きするかどうか |
tags | String | リソースに対してタグを付ける カンマ区切りで複数のタグを指定可能 |
その他の使用できるオプションは以下を参照ください
Upload API Reference | Cloudinary
Cloud-based Upload API with extensive options for uploading,...
おわりに
PHPを使ったCloudinaryへのアップロードは、少しの設定と、提供されたライブラリを使用することで簡単に行うことが出来ます
コメント