如何在 PHP 的控制器代码中应用乘法文件上传


how apply multiply file upload in controller code in php

我是PHP的初学者,现在用PHP做一个项目。我想上传图片(最多四个图片文件)。我使用以下代码上传图像。

    public function news_upload()
    {
        //echo "hello";exit;
        $this->load->library('upload');
        //print_r ($_FILES);
         $_FILES['filename']['type']= $_FILES['filename']['type'];
         $_FILES['filename']['tmp_name']= $_FILES['filename']['tmp_name'];
         $_FILES['filename']['error']= $_FILES['filename']['error'];
         $_FILES['filename']['size']= $_FILES['filename']['size']; 
         $ext=pathinfo($_FILES['filename']['name'],PATHINFO_EXTENSION); 
         //echo $ext;
         $_FILES['filename']['name'] = rand(0,1000)."_".strtotime("now")."_".rand(0,1000).'.'.$ext;
        //$document_file[] =  $_FILES['filename']['name'];
        $this->upload->initialize($this->news_upload_options());
        if (!$this->upload->do_upload('filename'))
        {
           $error = array('error' =>$this->upload->display_errors());    
        }
        else
        {
            $newstile=$this->input->post('news_title'); 
            $newsdate=$this->input->post('news_date'); 
            $uplo=$_FILES['filename']['name']; 
            $priority=$this->input->post('news_priority');
            $status=$this->input->post('news_status');
            $this->the_model->news_uploade($newstile,$newsdate,$uplo,$priority,$status);
        }
        redirect('welcome/discrp_news');
    }

我需要帮助修改此代码以上传最多 4 张图像。是否可以使用重命名功能重命名所选文件,以便在移动到指定文件夹时上传?但它显示错误

如果文件是多个,则需要循环文件。下面是我的工作示例.

function do_upload()
{       
    $this->load->library('upload');
    $files = $_FILES;
    $cpt = count($_FILES['userfile']['name']);
    for($i=0; $i<$cpt; $i++)
    {           
        $_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();
    }
}
private function set_upload_options()
{   
    //upload an image options
    $config = array();
    $config['upload_path'] = './Images/';
    $config['allowed_types'] = 'gif|jpg|png';
    $config['max_size']      = '0';
    $config['overwrite']     = FALSE;
    return $config;
}

希望有帮助.