FuelPHPのUploadクラスの使い方をまとめてみました。
ちょっとクセがある感じなので、自分の使い方が正しいのかは不明です。
まずは、簡単にUpload処理を行うために下記のようなcontrollerを用意します。
アップロード処理のサンプル
[php]
false,
‘langCallback’ => null,
‘moveCallback’ => null,
// validation settings
‘max_size’ => 0,
‘max_length’ => 0,
‘ext_whitelist’ => array(),
‘ext_blacklist’ => array(),
‘type_whitelist’ => array(),
‘type_blacklist’ => array(),
‘mime_whitelist’ => array(),
‘mime_blacklist’ => array(),
// file settings
‘prefix’ => ”,
‘suffix’ => ”,
‘extension’ => ”,
‘randomize’ => false,
‘normalize’ => false,
‘normalize_separator’ => ‘_’,
‘change_case’ => false,
// save-to-disk settings
‘path’ => ”,
‘create_path’ => true,
‘path_chmod’ => 0777,
‘file_chmod’ => 0666,
‘auto_rename’ => true,
‘overwrite’ => false,
);
[/php]
composerでバージョンを上げると、今まであった「new_name」のプロパティがなくなっており、アップロードした際のファイル名の変更がUploadクラスだけでは完結できなくなっていると思われます。
そのため、ここではFuelPHPのFileクラスを利用しアップロードされた一時ファイルに対しFile::rename()を利用し、ファイル名を変えつつリネーム(コピー)する処理でごまかしています。
総括
これが正しい処理か?と言われると自信がありませんが、やりかたの1例としてあげておきます。
コメント