上传多个文件上传使用codeigniter文件名不工作

jm2pwxwz  于 2022-12-06  发布在  其他
关注(0)|答案(1)|浏览(125)

我尝试使用codeigniter 2上传多个文件。
我工作得很好,但是文件名出错了。我每次都试着改变文件名,但都不起作用。

function do_upload($last_insert_id)
{  
    $files = $_FILES; 
    $cpt = count($_FILES['userfile']['name']);
    $file_name_array=array(); 
    for($i=0; $i<=$cpt; $i++)
    {  
        $config = array();
        if($files['userfile']['size'][$i] > 0 ) { 
            $image_name = "ledger_".$last_insert_id."_".$i;
            $config['upload_path'] ='./uploads/ledger/';
            $config['allowed_types'] = 'gif|jpg|png|jpeg|pdf|doc|docx|xsl|xlsx|xslx|csv|xls';
            $config['max_size']      = '0';
            $config['overwrite']     = FALSE; 
            $config['file_name'] = $image_name;  
            $this->load->library('upload', $config); 
    
            $_FILES['userfile']['name']= $files['userfile']['name'][$i];
            $_FILES['userfile']['type']= $files['userfile']['type'][$i];
            $_FILES['userfile']['tmp_name']= $files['userfile']['tmp_name'][$i];
            $_FILES['userfile']['error']= $files['userfile']['error'][$i];
            $_FILES['userfile']['size']= $files['userfile']['size'][$i];  
           // $this->upload->initialize($this->set_upload_options());
           
            //$this->upload->do_upload();
            if($this->upload->do_upload()) {
                echo $image_name;           
                array_push($file_name_array,$image_name);
             
            } else {
                $empty_file='';
                array_push($file_name_array,$empty_file);
            }
        } 

    }
    echo "<pre>";
                print_r( $file_name_array);
}
r1zk6ea1

r1zk6ea11#

我找到了解决办法
在这里

function do_upload($last_insert_id)
{  
    $files = $_FILES; 
    $cpt = count($_FILES['userfile']['name']);
    $file_name_array=array(); 
    for($i=0; $i < $cpt; $i++)
    {  
 
        $config = array();
        if($files['userfile']['size'][$i] > 0 ) 
        {  
        $image_name = "ledger_".$last_insert_id."_".$i;

        $config['file_name'] = $image_name; 
        $config['upload_path'] ='./uploads/ledger/';
        $config['allowed_types'] = 'gif|jpg|png|jpeg|pdf|doc|docx|xsl|xlsx|xslx|csv|xls';
        $config['max_size']      = '0';
        $config['overwrite']     = FALSE; 

        $this->load->library('upload', $config); 

        $_FILES['userfile']['name']= $files['userfile']['name'][$i];
        $_FILES['userfile']['type']= $files['userfile']['type'][$i];
        $_FILES['userfile']['tmp_name']= $files['userfile']['tmp_name'][$i];
        $_FILES['userfile']['error']= $files['userfile']['error'][$i];
        $_FILES['userfile']['size']= $files['userfile']['size'][$i];  
 
        //$this->upload->do_upload();
        if($this->upload->do_upload()) { 
            $fileData = $this->upload->data(); 
            $filenameData = $fileData['file_name'];
            //print_r($fileData);
            array_push($file_name_array,$filenameData);
         
        }
        }
         else { 
            $empty_file='';
            array_push($file_name_array,$empty_file);
        } 
  
    }
     return $file_name_array;

}

相关问题