0

次のフォームを含むビューファイルがあります。

form_upload('media_image_00');
form_upload('media_image_01');
.....
form_upload('media_image_14');

そして私のコントローラー(モデルに検証ルールを設定しました):

if ($this->form_validation->run() == TRUE) {
    $config['upload_path'] = './my_image/';
    $config['allowed_types'] = 'gif|jpg|jpeg|png';
    $config['max_size']         = '10240';
    $this->load->library('upload', $config);

            for($i = 0;$i<=14;$i++){
            $name = 'media_image_0'.$i;
            if($i>9){
                $name = 'media_image_'.$i;
            } // end of if($i>9
            if(!empty($_FILES[$name])){
                $this->upload->do_upload($name);
                $upload_data = $this->upload->data();
                $_POST[$name] = $upload_data['file_name'];
                dump($upload_data['file_name']);
            }else{
                // do nothing
            }// end of if(!empty
        } // end of for loop

dump($upload_data['file_name']) でファイル名をダンプしたいのですが、データが選択されてアップロードされた場所のみです。すべての分野ではありません。問題は、media_image_00 と media_image_01 にのみデータをアップロードすると、media_image_01 の名前がその後の他のすべてのフィールドに自動的にダンプされることです。ファイルは再度アップロードされませんが、名前は media_image_01 以降のすべてのフィールドで同じです。

何が問題なのかわからない。codeigniter の配列と関係があるのか​​もしれません。どうすればこれを解決できますか?

4

0 に答える 0