未定义的偏移量1:使用ajax文件上载传递文件时

时间:2015-06-21 22:55:45

标签: javascript php jquery ajax codeigniter

当我将数据传递到文件上传控制器时,它会给出错误undefined offset: 1

function TestFileUpload() {
    $i=0;
    if(!isset($_FILES[$i]) ) {
        echo "No file is being uploaded";
    }
    else {
    $x = $_FILES[$i]['name'];
    $xx = explode('.', $x);


    $config['upload_path'] = 'MRS-files\Upload_files';
    $config['allowed_types'] = 'xls|doc|jpg|png|gif|pdf';
    $this->load->library('upload',$config);

    $count = count($_FILES[$i]['name']). '  ';

        while ($i <= 4 ) 
        {
            echo $count;
            $x = $_FILES[$i]['name'];
            $xx=explode(".", $x);
            echo $_FILES[$i]['name'].' '.$_FILES[$i]['type'].' '.$_FILES[$i]['size'] ;
            $this->upload->initialize($config);

            $_FILES['up']['name']       = $_FILES[$i]['name'];
            $_FILES['up']['tmp_name']   = $_FILES[$i]['tmp_name'];
            $_FILES['up']['type']       = $_FILES[$i]['type'];
            $_FILES['up']['size']       = $_FILES[$i]['size'];

            if ( ! $this->upload->do_upload('up')) {
                //error on uploading
                echo str_replace('','',$this->upload->display_errors()); //temporary commented no use cause of redirect to homepage
                //$this->cancelREC();
                exit();
            }

            else{
                $data = array('upload_data' => $this->upload->data());
                $this->new_development_model->insertonAttachments($data['upload_data']);
                $i++;
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

这可能是相关的,因为如果定义了$_FILES[$i],您需要检查循环。

您执行此操作但只有一次$i = 0

我甚至认为,如果你检查循环,你不需要做

if(!isset($_FILES[$i]) ) {
    echo "No file is being uploaded";
}
else { /*...*/ }
循环之前