[Codeigniter-users] ファイルアップロードで複数のファイルを扱う方法

Back to archive index

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');
これでも動きます。

エラーがあれば、
通常と同じように取り出せます。



Codeigniter-users メーリングリストの案内
Back to archive index