首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >提交表单后在codeigniter中上传多个文件

提交表单后在codeigniter中上传多个文件
EN

Stack Overflow用户
提问于 2019-10-03 19:01:45
回答 2查看 52关注 0票数 0

在我的CodeIgniter项目中,我在项目创建期间上传了多个文件。请告诉我如何使用CI上传多个文件。

这是提交表单后的输出数组。

代码语言:javascript
运行
复制
[user_attached] => Array
        (
            [name] => Array
                (
                    [pic_passport] => cp-user-error.png
                    [att_document] => local-delivery-done.png
                )

            [type] => Array
                (
                    [pic_passport] => image/png
                    [att_document] => image/png
                )

            [tmp_name] => Array
                (
                    [pic_passport] => C:\xampp\tmp\phpC707.tmp
                    [att_document] => C:\xampp\tmp\phpC718.tmp
                )

            [error] => Array
                (
                    [pic_passport] => 0
                    [att_document] => 0
                )

            [size] => Array
                (
                    [pic_passport] => 635392
                    [att_document] => 36512
                )

        )
EN

回答 2

Stack Overflow用户

发布于 2019-10-03 19:06:33

在Codeigniter中上传多个文件。尝尝这个。

代码语言:javascript
运行
复制
     $filesCount = count($_FILES['user_attached']['name']);
    $path = 'upload/document';
    if (!file_exists($path)) {
        mkdir($path, 0777, true);
    }
    $array = ['pic_passport','att_document'];

for($i = 0; $i < $filesCount; $i++) { 

    $_FILES['userFile']['name'] = $_FILES['user_attached']['name'][$array[$i]];
    $_FILES['userFile']['name'] = $_FILES['user_attached']['name'][$array[$i]];
    $_FILES['userFile']['type'] = $_FILES['user_attached']['type'][$array[$i]];
    $_FILES['userFile']['tmp_name'] = $_FILES['user_attached']['tmp_name'][$array[$i]];
    $_FILES['userFile']['error'] = $_FILES['user_attached']['error'][$array[$i]];
    $_FILES['userFile']['size'] = $_FILES['user_attached']['size'][$array[$i]];
    $imagename = $this->randomAlphanumId(10);              
    $image_name[$array[$i]]="doc_".$imagename."_".str_replace(array(' '),'_',$_FILES['userFile']['name']);

    $config['upload_path'] = $path;
    $config['allowed_types'] = '*';
    $config['file_name'] = $image_name[$array[$i]];
    $this->load->library('upload',$config);
    $this->upload->initialize($config);
    if($this->upload->do_upload('userFile')) {
        $fileData = $this->upload->data();
        $upload_image[] = $fileData['file_name'];
    }
}
票数 0
EN

Stack Overflow用户

发布于 2019-10-04 19:44:08

为这段代码创建库并从控制器调用

代码语言:javascript
运行
复制
for($i = 0; $i < $config_array['files_count']; $i++)
{
    if($config_array['file_data']['name'][$i]) 
    {
        $file_name = $config_array['file_data']['name'][$i];

        $file_info  = pathinfo($file_name);

        $new_file_name = preg_replace('/[[:space:]]+/', '_', $file_info['filename']);

        $new_file_name = $new_file_name.'_'.DATE(UPLOAD_FILE_DATE_FORMAT);

        $new_file_name = str_replace('.','_',$new_file_name);

        $file_extension = $file_info['extension'];

        $new_file_name = $new_file_name.'.'.$file_extension;

        $_FILES['attchment']['name'] = $new_file_name;

        $_FILES['attchment']['tmp_name'] = $config_array['file_data']['tmp_name'][$i];

        $_FILES['attchment']['error'] = $config_array['file_data']['error'][$i];

        $_FILES['attchment']['size'] = $config_array['file_data']['size'][$i];

        $config['upload_path'] = $config_array['file_upload_path'];

        $config['file_name'] = $new_file_name;

        $config['allowed_types'] = $config_array['file_permission'];

        $config['file_ext_tolower'] = TRUE;

        $config['remove_spaces'] = TRUE;

        $config['max_size'] = $config_array['file_size'];

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

        $this->CI->upload->initialize($config);

        if($this->CI->upload->do_upload('attchment'))
        {
            array_push($file_array,array(
                    'og_name'=> $file_name,
                    'name'=> $new_file_name)
            );
        }
        else
        {   
            array_push($error_msgs,$this->CI->upload->display_errors('',''));
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58217781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档