上传规则不会在IC上覆盖

时间:2019-06-05 13:54:20

标签: php codeigniter

我制作了一个公式,其中包含2个不同的上传和不同的规则(一个用于图像,一个用于存档),图像上传有效,但是在归档时,规则不被覆盖(继续使用图像的规则)。

我试图将库加载到构造中,但不起作用。

图片上传功能:

    $configImagem['upload_path']   = './files/noticias/imagens';
    $configImagem['allowed_types'] = 'gif|jpg|jpeg|png';
    $configImagem['file_name']     = 'Img_noticia_'.date('y-m-d_h-i-s');
    $this->load->library('upload',$configImagem);

    $check = $this->upload->do_upload('imagem');

    if($check == TRUE){ 
        return TRUE;
    } else if($check == FALSE){
        $this->session->set_flashdata('erro', '<strong>Erro:</strong>'.$this->upload->display_errors());
        return FALSE;
    }
}

public function upArquivo(){
    $configArq['upload_path']   = './files/noticias/arquivos';
    $configImagem['allowed_types'] = 'pdf|txt|doc';
    $configArq['file_name']     = 'Arq_noticia_'.date('y-m-d_h-i-s');
    $this->load->library('upload',$configArq);
    $this->upload->initialize($configArq);

    $checkArq = $this->upload->do_upload('arquivo');

    if($checkArq == TRUE){ 
        return TRUE;
    } else if($checkArq == FALSE){
        $this->session->set_flashdata('erro', '<strong>Erro:</strong>'.$this->upload->display_errors());
        return FALSE;
    }
}

3 个答案:

答案 0 :(得分:1)

在存档方法中,删除initialize方法并保留加载库:

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

在这种情况下,重新加载库应该可以..并检查您的配置。

答案 1 :(得分:0)

变量$configImagem必须为$configArq

答案 2 :(得分:0)

尝试使用第二个参数并将其设置为true以进行重置。

$U[0] = "\data1\fileloader.ini";
$U[1] = "\data1\data2\crame\crame.ini";
$U[2] = "\data1\data2\data3\files\setup.exe";
$U[3] = "\data1\data2\data3\data4\WINDOWS\win.ini";

only affecting $U[ ] 

https://www.codeigniter.com/user_guide/libraries/file_uploading.html#CI_Upload::initialize