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

Javascript 未定义的偏移量1:使用ajax文件上载传递文件时,javascript,php,jquery,ajax,codeigniter,Javascript,Php,Jquery,Ajax,Codeigniter,当我将数据传递到我的文件上载控制器时,它给出了一个未定义偏移量的错误: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'

当我将数据传递到我的文件上载控制器时,它给出了一个
未定义偏移量的错误: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++;
            }
        }
    }
}
函数TestFileUpload(){
$i=0;
如果(!isset($\u文件[$i])){
echo“没有上传任何文件”;
}
否则{
$x=$\u文件[$i]['name'];
$xx=爆炸('.',$x);
$config['upload_path']='MRS files\upload_files';
$config['allowed_types']='xls | doc | jpg | png | gif | pdf';
$this->load->library('upload',$config);
$count=count($_文件[$i]['name'])。';
而($i上传->初始化($config);
$\u文件['up']['name']=$\u文件[$i]['name'];
$\u文件['up']['tmp\u name']=$\u文件[$i]['tmp\u name'];
$\u文件['up']['type']=$\u文件[$i]['type'];
$\u文件['up']['size']=$\u文件[$i]['size'];
如果(!$this->upload->do_upload('up')){
//上传时出错
echo str_replace(“”,$this->upload->display_errors());//临时注释没有使用重定向到主页的原因
//$this->cancelREC();
退出();
}
否则{
$data=array('upload_data'=>$this->upload->data());
$this->new_development_model->insertonAttachments($data['upload_data');
$i++;
}
}
}
}

这可能是相关的,因为如果定义了
$\u文件[$i]
,则需要检查循环

您可以这样做,但只有一次,当
$i=0

我甚至认为,如果你在循环中检查,你就不需要这样做

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

在循环之前

ajax文件上传
我在这里找不到ajax代码