Codeigniter文件上传显示错误

时间:2017-03-29 08:41:08

标签: php html codeigniter

控制器代码

        $config['upload_path']          = './uploads/'.$random;
        $config['allowed_types']        = 'gif|jpg|png';
        $config['max_size']             = 100;
        $config['max_width']            = 1024;
        $config['max_height']           = 768;

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

        if ( ! $this->upload->do_upload('imageupload'))
        {
            $error = array('error' => $this->upload->display_errors());
        }
        else
        {
            $data = array('upload_data' => $this->upload->data());
        }
        print_r($data);

HTML code:

<form role="form" enctype="multipart/form-data" accept-charset="utf-8" name="formname" id="formname"  method="post" action="http://www.example.com/Property/post">
    <input type="file" class="default" id="imageupload1" name="imageupload[]">
</form>

每当我上传文件时,它显示警告is_uploaded_file()要求参数1为字符串,给定数组。我该如何解决?

2 个答案:

答案 0 :(得分:1)

试试这个

      //place this code in your function for multiple image upload
   $data = array();
    if(!empty($_FILES['imageupload']['name']))
    {
        $filesCount = count($_FILES['imageupload']['name']);
          for($i = 0; $i < $filesCount; $i++){
            $_FILES['imageupload']['name'] = $_FILES['imageupload']['name'][$i];
            $_FILES['imageupload']['type'] = $_FILES['imageupload']['type'][$i];
            $_FILES['imageupload']['tmp_name'] = $_FILES['imageupload']['tmp_name'][$i];
            $_FILES['imageupload']['error'] = $_FILES['imageupload']['error'][$i];
            $_FILES['imageupload']['size'] = $_FILES['imageupload']['size'][$i];

            $uploadPath = 'uploads/';
            $config['upload_path'] = $uploadPath;
            $config['allowed_types'] = 'gif|jpg|png';

            $this->load->library('upload', $config);
            $this->upload->initialize($config);
            if($this->upload->do_upload('imageupload')){
                $fileData = $this->upload->data();
                $uploadData[$i]['file_name'] = $fileData['file_name'];
                $uploadData[$i]['created'] = date("Y-m-d H:i:s");
                $uploadData[$i]['modified'] = date("Y-m-d H:i:s");
            }
        }

        if(!empty($uploadData)){
            //Insert file  into the database using your model 


        }
        }

答案 1 :(得分:0)

您的输入名称可能不带括号:

<input type="file" class="default" id="imageupload1" name="imageupload">