Advertisement
roniewill

Método para cadastro com upload de imagem com 2 input files

Oct 1st, 2016
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.93 KB | None | 0 0
  1.  public function cadastrar()
  2.     {
  3.         // Regras de validação
  4.         $this->form_validation->set_rules('titulo', 'TÍTULO', 'required');
  5.         $this->form_validation->set_rules('autor', 'AUTOR', 'required');
  6.  
  7.         // Verifica validação
  8.         if ($this->form_validation->run() == FALSE) {
  9.             if (validation_errors()) {
  10.                 set_msg(validation_errors());
  11.                 redirect('admin-podcast/cadastrar', 'refresh');
  12.             }
  13.         } else {
  14.  
  15.             // Processo para aupload de arquivo de imagem
  16.             // Carrega library de upload
  17.             $this->load->library('upload', config_upload($this->dir_temp, 'jpeg|jpg|png', 2048));
  18.             if (!$this->upload->do_upload('imagem')) {
  19.                 set_msg('Você ainda não selecionou um arquivo de imagem do tipo JPG|JPGE ou PNG para upload.');
  20.                 redirect('admin-podcast/cadastrar', 'refresh');
  21.             } else {
  22.                 $file = $this->upload->data();
  23.                 $this->imagem = $file['file_name'];
  24.  
  25.                 if (file_exists($this->dir_temp . $this->imagem) && !is_dir($this->dir_temp . $this->imagem)) {
  26.                     copy($this->dir_temp . $this->imagem, $this->dir_final . $this->imagem);
  27.                     unlink($this->dir_temp . $this->imagem);
  28.                 }
  29.             }
  30.  
  31.             // Processo para aupload de arquivo mp3
  32.             // Carrega library de upload
  33.             $this->load->library('upload', config_upload($this->dir_temp, 'mp3', 10000));
  34.             if (!$this->upload->do_upload('audio')) {
  35.                 set_msg('Você ainda não selecionou um arquivo MP3 para upload.');
  36.                 redirect('admin-podcast/cadastrar', 'refresh');
  37.             } else {
  38.                 $file = $this->upload->data();
  39.                 $this->mp3 = $file['file_name'];
  40.  
  41.                 if (file_exists($this->dir_temp . $this->mp3) && !is_dir($this->dir_temp . $this->mp3)) {
  42.                     copy($this->dir_temp . $this->mp3, $this->dir_audio . $this->mp3);
  43.                     unlink($this->dir_temp . $this->mp3);
  44.                 }
  45.             }
  46.  
  47.             $dados['podcast_titulo'] = $this->input->post('titulo');
  48.             $dados['podcast_imagem'] = $this->imagem;
  49.             $dados['podcast_audio'] = $this->mp3;
  50.             $dados['podcast_autor'] = $this->input->post('autor');
  51.             $dados['data_cadastro'] = date('Y-m-d');
  52.  
  53.             if ($this->podcast->save($dados)) {
  54.                 set_msg('Podcast cadastrado com <strong>sucesso</strong>!');
  55.                 $this->clear_dir_file();
  56.                 redirect('admin-podcast', 'refresh');
  57.             } else {
  58.                 set_msg('<strong>Erro</strong> ao tentar cadastrar.');
  59.                 redirect('admin-podcast/cadastrar', 'refresh');
  60.             }
  61.         }
  62.  
  63.         $dados['label'] = 'Cadastrar Podcast';
  64.         $this->load->view('admin/podcast/cadastro_form', $dados);
  65.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement