Publicidade

cristianomg

Gravar no banco após gerar Upload de imagem

Patrocínio:

E ae pessoal,

Preciso de uma orientação no seguinte,

Fazendo algumas pesquisas cheguei no código onde seleciono multiplas imagens e as coloco em uma pasta especifica, até tranquilo.

Mas agora eu preciso que dentro do meu foreach  cada imagem seja gravada na base de dados, ou seja, ao receber cada imagem eu terei de gravar na base linha a linha.

Tentei colocar o insert dentro do foreach mas não deu...algué tem alguma orientação de onde posso incluir meu insert por exem da tabela imagens ( codimg, nomeimagem )

 

Fiz o meu foreach desta forma:

 

 

 

 session_start();
 foreach($_FILES['images']['error'] as $key => $error){
	 
	 if($error == UPLOAD_ERR_OK){
		 $name = $_FILES['images']['name'][$key];
		 $_SESSION['imagens'][] = $name;
		 move_uploaded_file($_FILES['images']['tmp_name'][$key], 'imagens/anuncios/upload/'.$name);
		 }
		 

		// Eu encontrei esta instrução abaixo mas não acredito que seja a forma mais adequada e esta tb não funcionou
		foreach($_SESSION['imagens'] as $key => $imagem){
		$sql = "INSERT INTO fotos_anuncio ( nomeimagem) VALUES ('$imagens');" or die(mysql_error());
		if($resultado=mysql_query($sql)){
			echo "<script>alert('salvou');</script>";
			}else{
			echo  die(mysql_error());
			echo "Deu guru!";
			}
		 }
 }

 

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei desta forma e também não deu..

 

 

 

session_start();
 foreach($_FILES['images']['error'] as $key => $error){
	 
	 if($error == UPLOAD_ERR_OK){
		 $name = $_FILES['images']['name'][$key];
		 $_SESSION['imagens'][] = $name;
		 move_uploaded_file($_FILES['images']['tmp_name'][$key], 'imagens/anuncios/upload/'.$name);
         /// tentei incluir aquei dentro do foreach e não deu ..
$sql = "INSERT INTO fotos_anuncio ( nomeimagem) VALUES ('$imagens');" or die(mysql_error());
		if($resultado=mysql_query($sql)){
			echo "<script>alert('salvou');</script>";
			}else{
			echo  die(mysql_error());
			echo "Deu guru!";
			}

		 }
 }

Alguém sabe outro meio para atender isso ?

 

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que acontece de errado?

 

o primeiro código não faz sentido porque você fez um loop dentro do outro.
mas qual o problema desse segundo? o que aparece? 

 

isso aqui:

$sql = "INSERT INTO fotos_anuncio ( nomeimagem) VALUES ('$imagens');" or die(mysql_error());

está errado.
tente assim:

 

session_start();
foreach($_FILES['images']['error'] as $key => $error){
   
  if($error == UPLOAD_ERR_OK){
    $name = $_FILES['images']['name'][$key];
    $_SESSION['imagens'][] = $name;
    move_uploaded_file($_FILES['images']['tmp_name'][$key], 'imagens/anuncios/upload/'.$name);
         
    $sql = "INSERT INTO fotos_anuncio (nomeimagem) VALUES ('$name');";
    mysql_query($sql) or die(mysql_error());
  }
}

 

 

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei,

Na verdade a tela carrega as fotos na div, chama o javascript para upload das fotos na pasta, mas passa batido pelo INSERT.

Nem uma mensagem pelo insert exibe em tela...

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então procure no log da aplicação o que está acontecendo.
Sem mensagem de erro é impossível averiguarmos. Como o problema é PHP vou transferir teu tópico de fórum.

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguém ai já passou por algo parecido para dar um norte.

Olhei com f12 para ver logs de erros mas não gerou nada. :persevere:

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem que ver os logs do servidor. E não no F12.

Pesquise como ver os logs do php/apache no teu sistema operacional.

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa William,
Olhei no easy nos log files > Apache error e Mysql error , e não contém nada na data atual quando tento executar as inclusões.

Vou ver se acho algum outro tipo, de envio com preview de múltiplas imagens pra base de dados.

 

 

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

RESOLVIDO

 

 

Opa descobri,
havia um bloqueio no servidor, devido ao limite de "mb" de envio das imagens, acho que estava impedindo de certa forma isso.

Segue para quem precisar usar um dia.

 

Seleção das imagens:

 

				<form action="upload.php" enctype="multipart/form-data" method="post" >
					<input type="file" name="images[]" id="images" multiple>
					<button  type="submit" id="btn">Enviar Arquivos</button>
				</form>

 

 

Publicando na base de dados:

 <?php 
session_start();
include "conexao_banco";

foreach($_FILES['images']['error'] as $key => $error){
   
  if($error == UPLOAD_ERR_OK){
    $name = $_FILES['images']['name'][$key];
    $_SESSION['imagens'][] = $name;
    move_uploaded_file($_FILES['images']['tmp_name'][$key], 'local onde ira mover as imagens/'.$name);
         
    $sql = "INSERT INTO tabela (nomeimagem) VALUES ('$name');";
    mysql_query($sql) or die(mysql_error());
  }
}
 
 ?>

 

 

William obrigado pela atenção ae. :thumbsup:

 

 

faz tempo que não entro no site e mudou, onde eu coloco o post como resolvido ?

 

 

 

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me deparei com mais um ultimo ponto para fechar.

Eu precisaria passar um id de anuncio como parâmetro

 

Tentei de duas formas: passando por input text e pegando no $_POST e/ ou passando por GET e pegando por $_GET

Mas ele insere zero na base, tipo não pega o POST ou o GET

 

Não entendi....

<form action="upload.php?id=<?php echo $_GET['id']?>" enctype="multipart/form-data" method="post" >
				<input type="text" name="idanuncio" value="25">
					<input type="file" name="images[]" id="images" multiple>
					<button  type="submit" id="btn">Enviar Arquivos</button>
				</form>

 

Para salvar na base o idanuncio

 


foreach($_FILES['images']['error'] as $key => $error){
  
  
	if($error == UPLOAD_ERR_OK){
    $name = $_FILES['images']['name'][$key];
    $_SESSION['imagens'][] = $name;
    move_uploaded_file($_FILES['images']['tmp_name'][$key], 'imagens/anuncios/upload/'.$name);
	
	$idanuncio = $_POST['idanuncio'];   
**ou usando GET	
	$idanuncio = $_GET['idanuncio'];         

    $sql = "INSERT INTO fotos_anuncio (idanuncio, nomeimagem) VALUES ('$idanuncio','$name');";
    mysql_query($sql) or die(mysql_error());
  }
}
 

 

 

0

Compartilhar este post


Link para o post
Compartilhar em outros sites
<input type="hidden" name="id" value="<?=$_GET['id']?>">

Add no form um input escondido.

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ae Williams

Justamente fiz isto mas não vai, as imagens estão sendo salva na base corretamente mas o input text que contém meu valor ou até mesmo o $_GET não absorve o valor no arquivo upload.php

 

Não sei o que pode ser que acontece...

Inseri diretamente o valor e no arquivo upload.php não esta pegando este valor do input,..

<input type="text" name="idanuncio" value="25">

 

0

Compartilhar este post


Link para o post
Compartilhar em outros sites
<form action="upload.php" enctype="multipart/form-data" method="post" >
    <input type="hidden" name="idanuncio" value="25">
    <input type="file" name="images[]" id="images" multiple>
    <button  type="submit" id="btn">Enviar Arquivos</button>
 </form>



Faça um debug nos dados . 
 

upload.php


var_dump($_POST);

e ve se chega o post

 

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vem este retorno:

array(1) { ["idanuncio"]=> string(2) "25" }

Só que tem uma coisa Williams...eu uso um js que faz o esquema das imagens multiplas e chama o upload.php .

Cara eu acho que eu deve passar este parametro pelo JS ..

Bha só pode ser isso não é?

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça o teste, mas se você fez o debug e esta aparecendo a string lá porque já foi enviada ou não!?

Testa diretamente, cara isso é bem básico, seja passado por js ou não!
 

$idanuncio = isset( $_POST['idanuncio'] ) ? $_POST['idanuncio'] : false;

echo $idanuncio;
0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar Agora

  • Próximos Eventos

  • Conteúdo Similar

    • Por marcelobbt
      Estou tentando fazer um form com upload de arquivos mas não está funcionando. Ele não carrega os arquivos e nem indica os erros.
       
      Controler: Noticias.php
      public function CriarNoticia () { //carrega a blibioteca $this->load->library('upload'); //verifica nível de acesso if ($this->session->userdata('nivel') < 4) { //redireciona página header("Location: ".base_url()."Principal"); } //zera variáveis $erro = ''; //cria objeto $noticia = new Noticia; //valida campos do form $this->form_validation->set_rules('titulo','T&iacute;tulo','required'); $this->form_validation->set_rules('data','Data','required'); $this->form_validation->set_rules('texto','Texto','required'); $this->form_validation->set_rules('resumo','Resumo','required'); $this->form_validation->set_rules('categoria','Categoria','required'); //verifica validação if ($this->form_validation->run() == TRUE){ //atribui valor do form para variável $noticia->__set('titulo', $this->input->post('titulo')); $noticia->__set('data', $this->input->post('data')); $noticia->__set('texto', $this->input->post('texto')); $noticia->__set('resumo', $this->input->post('resumo')); $noticia->__set('categoria', $this->input->post('categoria')); //configura arquivos $config['upload_path'] = './galeria/imagensdestaque'; $config['allowed_types'] = 'gif|jpg|png'; $config['max_width'] = '500'; $config['overwrite'] = 'true'; //inicializa as configurações $this->upload->initialize($config); // faz o upload if ( ! $this->upload->do_upload('imagem')) { // em caso de erro retorna os mesmos para uma variável $erro = array('error' => $this->upload->display_errors()); } else { //se correu tudo bem, recuperamos os dados do arquivo $imagem['dadosArquivo'] = $this->upload->data(); // definimos o caminho original do arquivo $arquivoPath = 'imagensdestaque/'.$imagem['dadosArquivo']['file_name']; // passando para o array $imagem['urlArquivo'] = base_url($arquivoPath); } $noticia->__set('imagem', $imagem['urlArquivo']); //cria objeto $crud = new Crud2; //prepara dados $resultado = array('Titulo' => $noticia->titulo, 'Data' => $noticia->data, 'Texto' => $noticia->texto, 'Resumo' => $noticia->resumo, 'Categoria' => $noticia->categoria, 'Imagem' => $noticia->imagem); //salva dados $crud->Inserir('noticias', $resultado); } else { //indica os erros $erro = validation_errors('<p class="vermelho">','</p>'); } //coloca dados em array para transmitir a vista $dados = array ( 'menu' => 'padroes/menu', 'pagina' => 'InserirNoticia', 'rodape' => 'padroes/Rodape', 'erro' => $erro ); //carrega vista $this->load->view('Padroes/PaginaPadrao',$dados); }  
      View: InserirNoticia.php
      <div class="container"> <div class="row"> <div class="col-sm-10"> <H2>Cadastrar Not&iacute;cia</H2> <fieldset> <p><?php echo form_open('Noticias/CriarNoticia'); ?></p> <label>Título:</label> <p><?php echo form_input(array('name'=>'titulo','id'=>'titulo'),set_value('titulo')); ?></p> <label>Data:</label> <p><?php echo form_input(array('type'=>'date', 'name'=>'data','id'=>'data'),set_value('data')); ?></p> <label>Texto: </label> <p><?php echo form_textarea(array('name'=>'texto','id'=>'texto'),set_value('texto')); ?></p> <label>Resumo: </label> <p><?php echo form_input(array('name'=>'resumo','id'=>'resumo'),set_value('resumo')); ?></p> <label>Imagem de Destaque: </label> <p><?php echo form_input(array('type'=>'file', 'name'=>'imagem','id'=>'imagem'),set_value('imagem')); ?></p> <label>Categoria: </label> <p><?php echo form_dropdown(array('name'=>'categoria','id'=>'categoria'), array('noticia' => "Not&iacute;cia"), set_value('categoria')); ?></p> <label>&nbsp;</label> <p><?php echo form_submit(array('name'=>'cadastrar'),"Cadastrar"); ?></p> </form> <label>&nbsp;</label> </fieldset> <?php echo $erro; ?> </div> </div> </div>  
       
    • Por juninhogpe
      Bom dia.
       
      Pessoal tenho uma galeria de fotos à qual envio todas de uma vez em um formulário e tenho uma página que recebe esses dados, cria a pasta e realiza o upload com redimensionamento das imagens. O problema é que só faz upload de 20 imagens, se eu colocar mais que isso não aparece.
       
      Localmente consigo realizar o upload de mais de 20 imagens. Abaixo os códigos:
       
      fotos.php
      <form name="clero" method="post" action="img-action.php" enctype="multipart/form-data"> <div class="form-group"> <label for="exampleInputEmail1">Nome</label> <input type="text" name="nome_galeria" class="form-control" id="exampleInputEmail1" placeholder="Nome"> </div> <div class="form-group"> <label for="exampleInputPassword1">Data</label> <input type="date" name="data" class="form-control" id="exampleInputPassword1" placeholder="Data"> </div> <div class="form-group"> <label for="exampleInputEmail1">Autor</label> <input type="text" name="autor" class="form-control" id="exampleInputEmail1" placeholder="Nome"> </div> <div class="clearfix"></div> <div class="form-group"> <label for="exampleInputFile">Fotos</label> <input type="file" name="file[]" id="exampleInputFile" required multiple> </div> <button type="submit" class="btn btn-default">Cadastrar</button> </form>  
      img-action.php
      <?php session_start(); if (!$_SESSION["usuarioNome"]) header("Location: index.php"); include("conexao.php"); ini_set('post_max_size', '500M'); ini_set('upload_max_filesize', '500M'); function clean($string) { $a = "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿŔŕºª"; $b = "aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyybyRroa"; $string = utf8_decode($string); $string = strtr($string, utf8_decode($a), $b); //substitui letras acentuadas por "normais" $string = str_replace(" ","-",$string); // retira espaco $string = strtolower($string); // passa tudo para minusculo return utf8_encode($string); //finaliza, gerando uma saída para a funcao } function resizeImage($Largura_atual,$Altura_atual,$Tamanho_Maximo,$Pasta_Destino,$SrcImage,$Qualidade_img,$Tipo_imagem){ //Verifica se a imagem existe if($Largura_atual <= 0 || $Altura_atual <= 0) return false; //Construção proporcional da nova imagem $Imagem = min($Tamanho_Maximo/$Largura_atual, $Tamanho_Maximo/$Altura_atual); $Nova_Largura = ceil($Imagem*$Largura_atual); $Nova_Altura = ceil($Imagem*$Altura_atual); if($Largura_atual < $Nova_Largura || $Altura_atual < $Nova_Altura){ $Nova_Largura = $Largura_atual; $Nova_Altura = $Altura_atual; } $NewCanves = imagecreatetruecolor($Nova_Largura, $Nova_Altura); // Redimensionamento de imagem if(imagecopyresampled($NewCanves, $SrcImage,0, 0, 0, 0, $Nova_Largura, $Nova_Altura, $Largura_atual, $Altura_atual)){ switch(strtolower($Tipo_imagem)){ case 'image/png': imagepng($NewCanves,$Pasta_Destino); break; case 'image/gif': imagegif($NewCanves,$Pasta_Destino); break; case 'image/jpeg': case 'image/pjpeg': imagejpeg($NewCanves,$Pasta_Destino,$Qualidade_img); break; default: return false; } if(is_resource($NewCanves)) imagedestroy($NewCanves); return true; } } $nome_galeria = $_POST["nome_galeria"]; $nome_pasta = clean($nome_galeria); $destino_imagem = mkdir('fgaleria/'.$nome_pasta.'/',0777,true); // Inserção na tabela de galeria $nome_galeria = $_POST["nome_galeria"]; $autor = $_POST["autor"]; $data = date("Y-m-d", strtotime($_POST['data'])); if(isset($_FILES['file']['name'])){ //Configurações da Imagem $Tamanho_Max_Imagem = 640; //Largura e altura máxima da imagem $Prefixo_Img_redimensionada = "imagem_comprimida"; //Prefixo para o nome da imagem salva $Pasta_Img_Original = 'original/'; $Pasta_Img_Comprimida = 'fgaleria/'; //Diretório para onde a imagem comprimida será salva $Qualidade_img = 100; $Local_Img_comprimida[] = $destino_imagem; $Local_Img_original[] = ""; if ($nome_galeria != ""){ $sql = utf8_decode("INSERT INTO galeria (nome, data, autor, nome_pasta) VALUES ('$nome_galeria', '$data','$autor', '$nome_pasta')"); if($conn->query($sql) === TRUE){ echo utf8_encode("<script> alert (\"Cadastro realizado com sucesso.\");</script>"); echo utf8_encode('<script>window.location="fotos.php";</script>'); } else{ echo "Erro: " . $sql . "<br />" .$conn->error; echo utf8_encode('<script>window.location="fotos.php";</script>'); } } $cont = $_FILES['file']['tmp_name']; for($i = 0; $i < count($cont); $i++){ // Algumas informações das imagens que serão necessárias. $Nome_Imagem=$_FILES['file']["name"][$i]; $Tamanho_Imagem=$_FILES['file']['size'][$i]; $TempSrc=$_FILES['file']['tmp_name'][$i]; $Tipo_imagem=$_FILES['file']['type'][$i]; $Process_Imagem = true; //Validação de arquivo e criação da imagem a partir da imagem que foi feito upload. switch(strtolower($Tipo_imagem)){ case 'image/png': $Imagem_Criada = imagecreatefrompng($TempSrc); break; case 'image/gif': $Imagem_Criada = imagecreatefromgif($TempSrc); break; case 'image/jpeg': case 'image/pjpeg': $Imagem_Criada = imagecreatefromjpeg($TempSrc); break; default: $Process_Imagem = false; //Formato do arquivo não suportado! } //Pega o tamanho da imagem list($Largura_atual,$Altura_atual) = getimagesize($TempSrc); //Local para as imagens de destino $DestRandNome_Imagem = 'fgaleria/'.$nome_pasta.'/'.$Nome_Imagem; //Name for Big Image date_default_timezone_set('America/Sao_Paulo'); $data_upload = date('Y-m-d H:i:s'); //Redimensionamento da imagem para o tamanho especificado na função resizeImage. if($Process_Imagem && resizeImage($Largura_atual,$Altura_atual,$Tamanho_Max_Imagem,$DestRandNome_Imagem,$Imagem_Criada,$Qualidade_img,$Tipo_imagem)){ //Novo tamanho para imagem list($ResizedWidth,$ResizedHeight)=getimagesize($DestRandNome_Imagem); $Local_Img_comprimida = $DestRandNome_Imagem; echo $Local_Img_comprimida; //$Local_Img_original = $OriginalNome_Imagem; } else{ echo '<p style="color:red;">Ocorreu um erro ao processar.<strong>'.$Nome_Imagem.'</strong></div>'; //output error } } } echo '<script language="javascript">alert("Imagens enviadas com sucesso!")</script>'; ?>  
      Já alterei também no "php.ini" os limites para:
      upload_max_filesize = 500M post_max_size = 500M  
      Mesmo assim não funciona.
       
      O que acham que pode ser?
       
      Obrigado.
    • Por maurohpg
      Bom dia pessoal, estou fazendo um upload múltiplo de imagens, mais estou com um pequeno problema, estou testando e não
      está sendo feito o upload, e não me mostra mensagem de erro algum, revisei o código ja várias vezes e não consigo encontrar
      um erro. Por acaso alguém tem ideia do que pode estar ocorrendo?
      <? include("../config.php"); include("verifica.php"); if($acao ==''){ echo '<form action="album_add.php?acao=add&id='.$id.'" method="post" enctype="multipart/form-data" name="form1"> <p align="center">Imagem<br> <input type="file" name="foto[]" multiple/> </p> <p align="center">Pequena descri&ccedil;&atilde;o<br> <input name="desc_" type="text" size="60" maxlength="250"> </p> <p align="center"> <input type="submit" name="Submit" value="Enviar"> </p> </form>'; }// FECHA principal ?> <?php if(isset($_POST['enviar']) == 'sim'){ $i = 0; foreach($_FILES['foto'] as $k=>$v) { if(!empty($_POST['desc_'][$i]) && !empty($_FILES['foto']['name'])) { // Largura máxima em pixels $largura = 640; // Altura máxima em pixels $altura = 480; // Tamanho máximo do arquivo em bytes $tamanho = 10000; // Verifica se o arquivo é uma imagem $tipos_permitidos = array('pjpeg'=>'image/pjpeg', 'jpeg'=>'image/jpeg', 'jpg'=>'image/jpg', 'gif'=>'image/gif', 'bmp'=>'image/bmp', 'png'=>'image/png' ); foreach($tipos_permitidos as $k=>$v) { if($_FILES['foto']['type'][$i] == $v) { $ext[1] = $k; break; } } if(!isset($ext)) { $error[1] = 'Extensão do arquivo não permitida: ' .$_FILES['foto']['type'][$i]; } // Pega as dimensões da imagem $dimensoes = getimagesize($_FILES['foto']['tmp_name'][$i]); // Verifica se a largura da imagem é maior que a largura permitida if($dimensoes[0] > $largura) { $error[2] = "A largura da imagem não deve ultrapassar ".$largura." pixels"; } // Verifica se a altura da imagem é maior que a altura permitida if($dimensoes[1] > $altura) { $error[3] = "Altura da imagem não deve ultrapassar ".$altura." pixels"; } // Verifica se o tamanho da imagem é maior que o tamanho permitido if($_FILES['foto']['size'][$i] > $tamanho) { $error[4] = "A imagem deve ter no máximo ".$tamanho." bytes"; } if (!isset($error)) { // Gera um nome único para a imagem $nome_imagem = md5(uniqid(time())) . "." . $ext[1]; // Caminho de onde ficará a imagem $caminho_imagem = "../uploads/album/" . $nome_imagem; // Faz o upload da imagem para seu respectivo caminho move_uploaded_file($_FILES['foto']["tmp_name"][$i], $caminho_imagem); include("resizer_foto_album.php"); $sql = mysql_query("INSERT INTO fotos (id_imovel, foto, obs_foto) VALUES ('$id', '$imagem_nome', '$desc_')") or print(mysql_error()); } else { echo 'Erro(s) encontrado(s)<br>'; foreach($error as $ek=>$ev) { echo $ev. '<br>'; } } } $i++; } } ?>  
    • Por Mateusphp
      Olá, queria fazer um upload com input do tipo FILE MULTIPLE, mas não consigo fazer com que o caminho de cada imagem seja salvo no banco de dados
    • Por ivangimenesa
      Olá galera tudo bem? Venho aqui trazer uma grande dúvida que possuo, sendo referente a linkar imagens do meu computador a este botão e fazer o upload das mesmas.

      Porém, queria fazer os uploads e após concluir o envio da imagem, que ela apareça como uma box, mostrando a mesma em local especifico.
      Melhor dizendo, igual a imagem que enviei no anexo.

      Tipo o anexo também, ao enviar o upload da imagem, automaticamente ela aparece.

      Lojas são assim. Ao vendedor for construir um post, automaticamente mostra os botões de upload e ao escolher as imagens, ela já aparecem no local marcado para aparecerem. Entenderam?
       
      Os botões em html são as coisas mais simples de iniciar, depois é o complicado... Se alguém conseguir me dar uma força, agradeço!