首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在codeigniter中重置方法

如何在codeigniter中重置方法
EN

Stack Overflow用户
提问于 2018-07-21 20:05:01
回答 2查看 847关注 0票数 2

我有一个表单,上传许多文件和图像在同一时间。问题是这种方法

代码语言:javascript
复制
$this->upload->display_errors()

每次循环执行此方法时,它都会保存上一次循环的错误

代码语言:javascript
复制
$error[$i]= "File error: ".$this->upload->display_errors();

例如,如果我上传了两个非法文件,它会显示以下内容

索引0:不允许使用文件

索引1:不允许文件不允许文件

那么我如何重置这个方法呢?ps:我试着重置()函数,但它不起作用

UPDATE这就是方法

代码语言:javascript
复制
          public function do_upload($product_id)
        {
            $error = array();

            if(isset($_FILES['files']['name'])&&!empty($_FILES['files']['name'][0])):

         for ($i=0; $i <count($_FILES['files']['name']) ; $i++) :


                $config['upload_path']          = './images/';
                $config['allowed_types']        = 'gif|jpg|png';
                $config['max_size']             = 1;



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





              $_FILES['files[]']['name'] = $_FILES['files']['name'][$i];
              $_FILES['files[]']['tmp_name'] = $_FILES['files']['tmp_name'][$i];
              $_FILES['files[]']['size'] = $_FILES['files']['size'][$i];

               if(!$this->upload->do_upload('files[]')){


 $error[$i]= "File name: ". $_FILES['files']['name'][$i] ." ". $this->upload->display_errors() ."<br>";

               }else{

              $files = $this->upload->data();

$data = array('file_name'=>$files['file_name'],'product_id'=>$product_id,'file_type'=>$files['file_type']);

               $this->Files_model->create_file($data);
               }





endfor;








  endif;
 return $error;
//end method
        }
EN

回答 2

Stack Overflow用户

发布于 2019-01-04 02:22:44

我们不能重置$this->upload->do_upload();

但是我们可以像这样重新初始化

代码语言:javascript
复制
// first upload 
$this->config->load('upload');
-- Code to upload Here -- 

// Another file
$this->config->load('upload_other_files');
-- Code to upload Here --

或者,您可以为每个文件定义多个配置数组,如下所示:

代码语言:javascript
复制
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '100';
$config['max_width'] = '1024';
$config['max_height'] = '768';

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

对于另一个文件

代码语言:javascript
复制
$config2['upload_path'] = './uploads/';
$config2['allowed_types'] = 'gif|jpg|png';
$config2['max_size'] = '100';
$config2['max_width'] = '100';
$config2['max_height'] = '100';

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

// Alternately you can set
$this->upload->initialize($config2);
票数 1
EN

Stack Overflow用户

发布于 2019-01-04 02:11:42

您可以像这样重置(错误):

代码语言:javascript
复制
$this->upload->error_msg = [];

...do_upload
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51455891

复制
相关文章

相似问题

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