投稿

ラベル(FuelPHP)が付いた投稿を表示しています

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

FuelPHPでファイルをアップロードする方法をまとめます。 以下の公式ページを参考に実装しました。 http://fuelphp.jp/docs/1.8/classes/upload/usage.html 要件 inputタグで指定されたファイルをアップロードする ファイル名はハッシュ値に置き換える ファイルの最大サイズは1MB ファイル拡張子はjpeg, jpg, gif, pngのみ許可 エラーは発生した時点で例外とする 実装 フロント側 Submit form内に以下を追加します。 <input type="file" name="image" accept="image/*" /> サーバー側実装 モジュール定義 FuelPHPのコアライブラリを使用するので以下を追加します。 use \Fuel\Core\Upload; アクションの実装 // アップロードファイルの設定 Upload::process(array( 'path' => '/var/tmp', 'overwrite' => true, 'randomize' => true, 'max_size' => 1000000, 'ext_whitelist' => array( 'jpeg', 'jpg', 'gif', 'png' ) )); // アップロードファイルの検証と保存 if (Upload::is_valid()) { // 画像アップロード成功の場合、設定を元に保存 for($i = 0; $i < count(Upload::get_files()); $i++) { Upload::save($i); } } // ファイルアップロードエラー fo

【PHP】FuelPHP - Model_Crudの作り方と使い方

FuelPHPにおける Model_Crud とはいわゆるORマッパーと呼ばれるもので、テーブルにおけるCRUD操作を劇的に簡単にします。 今回はこれとMySQLを使ってかんたんな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; +----+-----------+-------+---------------------+------------+------------+ | id | name | price | created_at | updated_at | is_deleted | +----+-----------+-------+---------------------+------------+------------+ | 1 | りんご | 10