2012年7月14日FuelPHPのUploadクラスは、HTMLフォームからアップロードされたファイルを安全に処理するためのクラスです。今日は、FuelPHPのUploadクラスについて調べてみたいと思います。Uploadクラスを利用するには、app/configフォルダにupload.php名でファイルを作成し、必要な設定項目を記述します。このファイルに記述することによりコアクラスの設定ファイルを変更することなく、指定した項目のみを変更することが可能です。下記に設定例を記述します。下記の例では、1枚最大サイズが2M以内のjpg、jpeg、gif、pngファイルのアップロードを許可します。それでは、下記にUploadクラスの各設定項目を表示しておきます。auto_precessUploadクラス利用時に自動的に、process()メソッドを実行するかどうかを指定します。初期値(デフォルト)は、tureです。max_sise1ファイルあたりの最大ファイルサイズをバイト単位で指定します。』、2Mが『2097152』となります。0を指定すると上限無しとなります(但し、php.iniの設定に依存します)。ext_whitelistアップロードを許可する拡張子を配列で指定します。初期値は、array()で、全ての拡張子が許可されています。ext_blacklistアップロードを禁止する拡張子を配列で指定します。初期値は、array()で、ext_whitelistと同様に全ての拡張子が許可されています。type_whitelistアップロードを許可するファイルタイプを配列で指定します。初期値は、array()で、全てのタイプを許可しています。type_blacklistアップロードを禁止するファイルタイプを配列で指定します。初期値は、array()で、禁止しているタイプはありません。mime_whitelistアップロードを許可するMIMEタイプを配列で指定します。初期値はarray()で、全てのMIMEタイプを許可しています。mime_blacklistアップロードを禁止するMIMEタイプを配列で指定します。初期値はarray()で、禁止しているMIMEタイプはありません。prefixアップロードファイルの保存時に常に特定の接頭辞を付加する場合に、指定します。suffixアップロードファイルの保存時に常に特定の接尾辞を付加する場合に指定します。extensionアップロードファイルの保存時に常に拡張子を特定のもので置換する場合に指定します。pathアップロードファイルを保存するパスを指定します。create_path指定されたパスを自動的に作成するかどうかを指定します。初期値はtrueです。path_chmod作成したファイルに設定するパーミッションを指定します。初期値は、0777です。file_chmod保存したファイルに設定するパーミッションを指定します。初期値は0666です。auto_rename保存時に指定されたファイル名が同じパスに存在する場合に連番を付けてリネームするかどうかを指定します。初期値はtrueです。overwrite保存時に指定されたファイル名が同じパスに存在する場合に上書き保存するかどうかを指定します。初期値はfalseです。randomizeアップロードファイルの保存時にMD5によるランダムな32文字のファイル名を付けるかどうかを指定します。初期値はfalseです。normalizeアップロードファイルの保存時にASCII文字のみのファイル名に変換するかどうかを指定します。初期値はfalseです。change_caseアップロードファイルの保存時にファイル名を大文字変換、又は小文字変換する角うをを指定します。初期値はfalseです。大文字変換時は、upper、小文字変換時はlowerを指定します。max_lengthアップロードファイルの保存時にファイル名の最大文字数を指定指定します。初期値は0で、文字数制限をしない設定になっています。アップロードしたファイルの情報はアップロードされたクラス内の多次元配列に格納されています。fieldファイルをアップロードするために使用されたフォームフィールドの名前です。フォームフィールドが多次元配列だった場合、配列のキーは、コロンで区切られたフィールド名に追加されます。nameアップロードされたファイル名です。typeアップロードファイルのタイプです。mimetypeアップロードタイプのMIMEタイプです。fileアップロードファイルのファイル名です。filenameアップロードファイルのベース名です。extentionアップロードされたファイルの拡張子です。sizeアップロードされたファイルのバイト単位のサイズです。errorアップロードしたファイルがエラーの場合はtrueが返されます。errorsアップロードしたファイルがエラーの場合、エラーコード及びエラーメッセージの配列が返されます。save()メソッドを呼び出した後、下記の情報が展開されます。アップロードクラスには、下記のようなエラー定数があります。UPLOAD_ERR_OKアップロードは成功しました。UPLOAD_ERR_UBU_SIZEアップロードしたファイルはphp.iniのupload_max_filesizeを超えています。UPLOAD_ERR_FORM_SIZEアップロードしたファイルは、HTMLフォームで指定されたMAX_FILE_SIZEを超えています。UPLOAD_ERR_PARTIAL部分的にしかアップロードされませんでした。UPLOAD_ERR_NO_FILEファイルをアップロードできませんでした。アップロードしたフィルのリストが処理されるときに、このエラーがフィルがリングされます。UPLOAD_ERR_NO_TMP_DIR一時フォルダが見つかりません。UPLOAD_ERR_CANT_WRITEファイルをディスクに書き込み失敗しました。UPLOAD_ERR_ETENSIONアップロードしたファイルの拡張子が認識できませんので、ファイルのアップロードを停止しました。UPLOAD_ERR_MAX_SIZEアップロードしたファイルはconfigで指定したファイル最大サイズを超えています。UPLOAD_ERR_EXT_BLACKLISTEDアップロードしたファイルの拡張子はブラックリストに定義されています。UPLOAD_ERR_EXT_NOT_WHITELISTEDアップロードしたファイルはホワイトリストに定義されていません。UPLOAD_ERR_TYPE_BLACKLISTEDアップロードしたファイルタイプがブラックリストに定義されています。UPLOAD_ERR_TYPE_NOT_WHITELISTEDアップロードしたファイルタイプがホワイトリストに定義されていません。UPLOAD_ERR_MIME_BLACKLISTEDアップロードしたファイルのMIMEタイプがブラックリストに定義されています。タイプがホワイトリストに定義されていません。UPLOAD_ERR_MAX_FILENAME_LENGTHアップロードしたファイルが定義されている最大ファイル名を超えています。UPLOAD_ERR_MOVE_FAILEDアップロードしたファイル名が指定されたパスに一時的なストレージから移動できません。これは、パーミッションに問題があるかもしれません。UPLOAD_ERR_DUPLICATE_FILE指定されたファイル名が既に存在していますので、アップロードファイルは保存できませんでした。アップロードクラスのメソッドには下記のような種類があります。is_valid()is_valid()メソッドは、アップロードされたファイルが定義されている全ての検証に合格しているかどうかをtureか、falseで返します。//ファイルを保存します。}get_files($index=null)get_files()メソッドは、指定したindex番号を持つアップロードしたファイルの多次元配列を返します。エラー値を含む場合はfalseを返します。}get_errors($index=null)get_errors()メソッドは、index番号で指定したファイルでエラーステータスがtrueの全ての多次元配列を返します。特定のアップロードイベントに基づき、コールバックを登録することが出来ます。$eventには、'before'か'after'を指定します。$file['saved_to'].='js/';break;default://上記以外の処理をここに記述}}});process($config=array())process()メソッドは、全てのアップロードファイルに関する情報をフォームのフィールド名の異なる順列を正規化し、ファイルとそのMIMEタイプに関する追加情報を取得し、ファイルを検証します。設定ファイルで、auto_processが有効になっていれば、process()メソッドはコントローラで明示的に呼び出さなくても自動的に実行されます。true));save()save()メソッドは、全ての検証済みファイルを指定したパスに保存します。コメントをキャンセルメールアドレスが公開されることはありません。今までPHPで作成していた社内専用サイトは携帯(ガラケー)用でした。...FuelPHPのoilで簡単アプリケーション作成FuelPHPには、oilというコードジェネレーターがあります。今日は、そのoilについて調べてみたいと思います。C:\xampp\phpにパスが通っているものとして説明いたします。今日は、登録ユーザーが自分のパスワードを忘れたときに新しいパスワードを自動的に再発行するプログラムを作成してみたいと思います。FuelPHPでデータの新規作成(実践編その1)CakePHPで実際にプログラムを書き始めてみると、FuelPHPで同じようなプログラムを書いたときにどちらが簡単か知りたくなり、同じようなプログラムを書きながら検証してみることにしました。以前、『FuelPHPで簡単認証システム』でSimpleAuthの基本的な使い方を見てみましたが、実際にあれだけでは、ユーザー管理は出来ません。AFFINGER5.。