Мне нужно, чтобы пользователь мог изменить изображение профиля, но я не могу найти четкую документацию, показывающую, как работает процесс загрузки CodeIgniter, обучая пошаговое руководство.
Я уже создал столбец с именем user_profile
в основной таблице.
В контроллере я определяю размер , тип и выполняю его шифрование.
public function update_profile(){
$config["upload_path"] = "public/images/profile";
$config["allowed_types"] = "jpg|jpeg|gif|png";
$config["max_size"] = 700;
$config["max_width"] = 1024;
$config["max_height"] = 768;
$config["encrypt_name"] = TRUE;
$this->load->library("upload", $config);
if($this->upload->do_upload('user_profile'))
{
$info_arquivo = $this->upload->data();
$user_profile = $info_arquivo["file_name"];
$this->load->model("profile_model");
$image_perfil = array(
"user_profile" => $user_profile
);
$query = $this->profile_model->insert_image($image_perfil);
if($query){
$this->session->set_flashdata('msg', 'Imagem de perfilfoi atualizada');
redirect(base_url('admin/dashboard'), 'refresh');
} else {
$this->session->set_flashdata('msg', 'Imagem de perfil não foi atualizada');
redirect(base_url('admin/profile'), 'refresh');
}
}
else
{
$this->session->set_flashdata('msg', 'Imagem de perfil não foi atualizada');
redirect(base_url('admin/profile'), 'refresh');
}
}
Ив представлении admin / profile
я поместил следующую форму.
<!-- UPLOAD IMAGE USER -->
<?php echo form_open_multipart('admin/update_profile'); ?>
<div class="form-group">
<label>Selecione uma imagem</label>
<input type="file" name="user_profile" class="form-control" id="user_profile" required/>
</div>
<div class="form-group">
<button type="submit" class="btn btn-success pull-right" value="cadastrar">Cadastrar</button>
</div>
</form>
<!-- END UPLOAD IMAGE USER -->
И в моей модели Profile_model
я вставил имя файла в столбец user_profile
class Profile_model extends CI_Model{
public function insert_image($user_profile)
{
$this->db->insert('ci_users', $user_profile);
return $this->db->affected_rows() ? TRUE : FALSE;
}
}