我将图像保存在用户发送的文件夹中。但是如果我用特殊字符(ç,á,ã等)保存图像,系统无法识别,并保存文件名错误。
示例:文件名:cação.png
并保存:caà § à £ o
控制器:
public function save_image(){
$config['upload_path'] = 'images/uploaded/';
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['max_size'] = '300';
$config['max_width'] = '1024';
$config['max_height'] = '768';
$this->load->library('upload', $config);
$sub_data = array(
'error' => '',
'result' => ''
);
if( ! $this->upload->do_upload())
{
$sub_data['error'] = "* Erro a carregar a imagem, por favor verifique todos os requisitos da imagem.<br/>
Error type: ";
$sub_data['error'] .= $this->upload->display_errors();
}
else
{
$sub_data['result'] = $this->upload->data();
$name_file = $sub_data['result']['file_name'];
$data['logotipo'] = $sub_data['result']['file_name'];
$this->edit_data_m->update_image($data);
}
$template_data['main_content'] = $this->load->view('editar_imagem_empresa_v', $sub_data, true);
$this->load->view('template_admin_v', $template_data);
}
模型:
public function update_image($data){
$this->load->helper('file');
$imagem = $this->get_image();
$nome_img = $this->get_image()->result_array();
if($imagem->num_rows() > 0 && $nome_img[0]['logotipo'] != "sem_logotipo.png")
{
$imagem2 = $this->get_image()->result_array();
unlink('./images/uploaded/'.$imagem2[0]['logotipo']);
}
$this->db->where('id', $this->session->userdata('id_empresa'));
$this->db->update('empresa_tbl', $data);
}
谢谢你的帮助!