【FuelPHP】1ページで複数のファイルをアップしたい

1つのページで複数のファイルをアップする必要があったのでその際に対応したことをメモ。

やりたかったことは、画像ファイルとテキストファイルを同時にPOSTで登録するでした。
その際に拡張子のチェックを各々チェックしたい。しかし、FuelPHPのFuel\Core\Upload ではできそうになかったので
独自に拡張して対応してみた。

まずは通常のファイルアップロードの流れは下記の流れとなります。

この場合、設定できるext_whitelistは、画像系とテキスト系の両方を設定することしかできませんでした。
このままでは、画像ファイルのinputにはテキストファイルをアップしたくないのにバリデーションではじくことができません。
なので、Fuel\Core\Uploadを拡張して対応しました。

まずは、coreクラスを拡張するためのクラスを作成します。
※仮に「app/classes/core/upload.php」に作成します。

これを、app/bootstrap.phpに記述します。

あとは下記のような使い方をします。

みたいな感じで対応しました。
もっと良い方法もあるかもですが、一応対応できた。
※ 一切責任を負いかねますので、あしからず。


コメントを残す