Exemplo n.º 1
0
 public static function multiupload($tipo, $campo, $registroTabela, $atributos)
 {
     // A VARIÁVEL $nomeTipo CONTÉM O NOME DO TIPO DA MIDIA E SERÁ USADA COMO NOME DA PASTA DENTRO DA PASTA UPLOADS
     $nomeTipo = TipoMidia::findOrFail($tipo)->descricao;
     // CRIANDO O REGISTRO PAI NA TABELA MIDIA
     $midia = new Midia();
     $midia->id_tipo_midia = $tipo;
     $midia->id_registro_tabela = $registroTabela;
     $midia->descricao = $nomeTipo . ' criado automaticamente com o banner';
     $midia->save();
     // FAZENDO O UPLOAD E GRAVANDO NA TABELA MULTIMIDIA
     foreach ($campo as $img) {
         // VERIFICANDO SE O ARQUIVO NÃO ESTÁ CORROMPIDO
         if ($img->isValid()) {
             // PEGANDO O NOME ORIGINAL DO ARQUIVO A SER UPADO
             $nomeOriginal = $img->getClientOriginalName();
             // MONTANDO O NOVO NOME COM MD5 + IDUNICO BASEADO NO NOME ORIGINAL E CONCATENANDO COM A EXTENÇÃO DO ARQUIVO
             $novoNome = md5(uniqid($nomeOriginal)) . '.' . $img->getClientOriginalExtension();
             // MOVENDO O ARQUIVO PARA A PASTA UPLOADS/"TIPO DA MIDIA"
             $img->move('uploads/' . $nomeTipo, $novoNome);
             // GRAVANDO NA TABELA MULTIMIDIA
             $imagem = new Multimidia();
             // PREPARANDO DADOS PARA GRAVAR NA TABELA MULTIMIDIA
             $imagem->id_midia = $midia->id_midia;
             $imagem->imagem = $novoNome or '';
             $imagem->descricao = $atributos->descricao or '';
             $imagem->link = $atributos->link or '';
             $imagem->ordem = $atributos->ordem or '';
             $imagem->video = $atributos->video or '';
             $imagem->save();
         }
     }
 }