FuelPHPでファイルアップロード

FuelPHPでファイルをアップロードする方法 参考にしたページ(公式) http://fuelphp.jp/docs/1.8/classes/upload/usage.html 要件 inputタグで指定されたファイルをアップロードする ファイル名はハッシュ値に置き換える ファイルの最大サイズは1MB ファイル拡張子はjpeg, jpg, gif, pngのみ許可 エラーは発生した時点で例外とする HTML form内に以下を追加 <input type="file" name="image" accept="image/*" /> サーバー側の処理 モジュール定義 use \Fuel\Core\Upload; アクションの実装 // アップロードファイルの設定 Upload::process(array( 'path' => '/var/tmp', 'overwrite' => true, 'randomize' => true, 'max_size' => 1000000, 'ext_whitelist' => array( 'jpeg', 'jpg', 'gif', 'png' …

続きを読む

Gmail認証 -認証チェック- 【FuelPHP】

今回は前回のGmailログインにより払い出したアクセストークンが有効なトークンかどうかのチェックと、アクセストークン に紐づくユーザー情報を取得する部分になります。 ログイン後の各コントローラの規定クラス <?php /** * 規定クラス */ class Controller_Base extends Controller_Template { /** * ログインユーザーの情報格納用の配列 * * @var array ( * 'id' => string, * 'email' => string, * 'name' => string, * 'picture' => string, * 'locale' => string, * ) */ public $user = array(); /** * コントローラ内の共通処理 * ・ログインチェック * * @access public static */ public function before() { …

続きを読む

Gmail認証 -ログイン編-【FuelPHP】

Gmailを使ってGoogle認証APIでログインを実装する方法です。 前提としてGoogle APIsコンソール(以下URL)からサービスキーを発行します。 https://console.developers.google.com/apis/dashboard ※なお今回FuelPHPを使って実装していますが、フレームワークの特別な機能は特に使用していません。 ざっくりとしたサービスキー発行手順 Google APIsコンソールの左側メニュー → 認証情報 → 認証情報を作成 → OAuth クライアント ID 必要項目を入力名前:任意のアプリケーション名を入力承認済みの JavaScript 生成元:今回は使用しない承認済みのリダイレクト URI:認証後にGoogleからコールバックされるエンドポイント 保存ボタンで client_id と client_secret が発行される ※OAuth同意画面でアプリケーションのスコープを指定することができる。これを内部にすると、組織内のGmailアカウントに限定されるので、社内システムなどではチェックすると良い。 Google Api Key設定ファイル fuel/app/config/test/apikeys.php <?php /** * Google API Keys */ return array( 'client_id' =>…

続きを読む

FuelPHP - Model_Crudの作り方と使い方

FuelPHPにおける Model_Crud とはいわゆるORマッパーと呼ばれるもので、テーブルにおけるCRUD操作を劇的に簡単にします。 使用するテーブル >SHOW CREATE TABLE products; CREATE TABLE `products` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '商品ID', `name` varchar(16) DEFAULT NULL COMMENT '商品名', `price` varchar(16) DEFAULT NULL COMMENT '価格', `created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT 'レコード作成日', `updated_at` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT 'レコード更新日', `is_deleted` tinyint(1) DEFAULT '0' COMMENT '削除フラグ', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商品マスタ'; 使用するデータ >SELECT * FROM products; +----+----…

続きを読む

もっと見る

スポンサーリンク