CodeIgniter多文件上传不起作用 [英] CodeIgniter Multiple File Upload not working

查看:83
本文介绍了CodeIgniter多文件上传不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在一个文件夹中上传多个文件,但出现错误您没有选择要上传的文件。

遇到PHP错误

I am trying upload multiple file in a folder but it's giving the error "You did not select a file to upload."
A PHP Error was encountered


严重性:警告

Severity: Warning

消息:is_uploaded_file()期望参数1为字符串,给定数组

Message: is_uploaded_file() expects parameter 1 to be string, array given

文件名:libraries / Upload.php

Filename: libraries/Upload.php

行号:412

回溯:

文件:C:\wamp\www\mshaadi\application\controllers\Email.php行:55
函数:do_upload

File: C:\wamp\www\mshaadi\application\controllers\Email.php Line: 55 Function: do_upload

文件:C:wamp\www\mshaadi\index.php行:293函数:require_once

File: C:\wamp\www\mshaadi\index.php Line: 293 Function: require_once

控制器

$conf['upload_path'] = './images';
    $conf['allowed_types'] = 'doc|docx|pdf|jpg|gif|jpeg|png';
    $conf['max_size'] = '9999000';
    $conf['max_width'] = '1024';
    $conf['max_height'] = '768';
    $conf['overwrite'] = TRUE;
    $this->load->library('upload');
    foreach ($_FILES as $fieldname => $fileObject){
            $this->upload->initialize($conf);
        if (!empty($fileObject['name'])){
            if (!$this->upload->do_upload($fieldname)){
                $error = $this->upload->display_errors();
                print_r($error);
            }else{
                 print_r("done");
            }
        }else {
            print_r("no");
        }
    }

视图

<div class="form-group col-md-12">
        <label for="Attach"><strong>Add Attachment</strong><br></label>
        <input type="file" class="btn btn-default btn-file" name="atta[]" id="Attach" multiple="multiple"> 
</div>


推荐答案

尝试这样,

function upload_files()
{       
    $config = array();
    $config['upload_path'] = './Images/';
    $config['allowed_types'] = 'gif|jpg|png';
    $config['max_size']      = '0';
    $config['overwrite']     = FALSE;

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

    $files = $_FILES;
    for($i=0; $i< count($_FILES['userfile']['name']); $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($config);
        $this->upload->do_upload();
    }
}

这篇关于CodeIgniter多文件上传不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆