Codeigniter 3多上传

时间:2015-12-07 22:09:39

标签: php codeigniter

Codeigniter by 3我正在尝试为多个上传创建一个控制器。 我的vontroller:

public function do_upload($path)
{
    $files = $_FILES['file'];
    $num_file = count($_FILES['file']['name']);
    echo $num_file;
 for($i=0; $i<=$num_file; $i++)
 {
        if(isset($files['name'][$i]))
        {
            echo $this->session->userdata('dir_corso');
            $this->_CI->session->set_userdata(array('filename'=> $files['name'][$i]));
            $this->load->library('upload', $this->set_upload_options());
        $this->upload->initialize($this->set_upload_options());
        chmod($path, 0777);echo '<br/>'.$this->_CI->session->userdata('filename');
        $this->upload->do_upload($files['name'][$i]);
        $error = array('error' => $this->upload->display_errors());
        foreach($error as $errore)  echo $errore;
public function set_upload_options(){
    $config['upload_path'] = $this->session->userdata('dir_corso');
    $config['allowed_types'] = 'gif|jpg|png|GIF|JPG|PNG';    
    $config['overwrite'] = TRUE;
    if(!empty($this->session->userdata('filename'))){
    $config['file_name'] = $this->session->userdata('filename');
    }
    $config['max_size'] = 100;
    $config['max_width'] = 1024;
    $config['max_height'] = 768;
    $config ['encrypt_name'] = TRUE;

    return $config; }}}

我没有收到任何错误。 为什么不上传文件?

帮助我。

1 个答案:

答案 0 :(得分:0)

另一个函数里面的函数??希望这是问题,

试试这个,

public function do_upload($path) {
$files = $_FILES['file'];
$num_file = count($_FILES['file']['name']);
echo $num_file;
for ($i = 0; $i <= $num_file; $i++) {
    if (isset($files['name'][$i])) {
        echo $this->session->userdata('dir_corso');
        $this->_CI->session->set_userdata(array('filename' => $files['name'][$i]));
        $this->load->library('upload', $this->set_upload_options());
        $this->upload->initialize($this->set_upload_options());
        chmod($path, 0777);
        echo '<br/>' . $this->_CI->session->userdata('filename');
        $this->upload->do_upload($files['name'][$i]);
        $error = array('error' => $this->upload->display_errors());
        foreach ($error as $errore)
            echo $errore;


      }
    }
  }

    public function set_upload_options() {
        $config['upload_path'] = $this->session->userdata('dir_corso');
        $config['allowed_types'] = 'gif|jpg|png|GIF|JPG|PNG';
        $config['overwrite'] = TRUE;
        if (!empty($this->session->userdata('filename'))) {
            $config['file_name'] = $this->session->userdata('filename');
        }
        $config['max_size'] = 100;
        $config['max_width'] = 1024;
        $config['max_height'] = 768;
        $config ['encrypt_name'] = TRUE;

        return $config;
    }