kunitsuji
tsuji****@m-s*****
2009年 1月 21日 (水) 22:41:11 JST
kunitsujiです。
CIのファイルアップロードで、複数のファイルを一つのFORMでアップロードする
方法です。
本家のWIKIとかにあるのか?わかりませんでしたが(英語が読めないので)
とりあえずいじってみました。
なぜできないかということですが、
もともと1個しか受け取らない想定のようですね。
var $file_name = ''
となっており、
function do_upload($field = 'userfile')
として、POSTで送られてくるファイル名を一つ指定。
このあと、
function data()
でとりだしますが、この時に当然上記の一つのファイルのみ取り出す仕様です。
ここで
var $file_temp = array();
var $file_name = array();
var $orig_name = array();
var $file_type = array();
var $file_size = array();
var $file_ext = array();
これらが配列で取得できるようにと、
var $field = 'userfile';
受け取るPOSTのnameをプロパティで設定。
あとは、プロパティを使って
処理しました。
若干違うのは、
$this->upload->set_field_name('userfile_1');
$this->upload->do_upload();
fieldを事前にセットして、do_updateを呼び出すという部分ですか。
同じように
$this->upload->do_upload('userfile_1');
これでも動きます。
エラーがあれば、
通常と同じように取り出せます。