Ir ao conteúdo
  • Cadastre-se
Reberth Siqueira

PHP RESOLVIDO Codigo para upload de imagens e comentarios

Posts recomendados

boa noite galera, eu to tentando criar um sistema de upload de imagens e comentarios. To fazendo a seguinte rota submit button click -> php -> db -> local onde o arquivo vai ser armazenado.

Eu tentei o codigo abaixo mas o registro não foi pra db. Alguem manja?

 $sql = "INSERT INTO images (image, image_text) VALUES ('$image', '$image_text')";


Como posso fazer isso funcionar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Reberth Siqueira

Não é muito ideal guardar imagens no banco de dados. Ela torna a consulta pesada.

Guarde no banco o caminho da imagem ou apenas o nome do arquivo além de outros dados que precisar.

Eu faria da seguinte forma:

Crie uma pasta no root para receber estas imagens.

No banco de dados vai receber assim:

 

ID imagem                imagem_text
1   nome_da_imagem.png   descrição desta imagem  

 

No php você monta o caminho e usa a função move_uploaded_file() para mover para o diretório criado.

 

exemplo


$image_text = $_POST["image_text"];
$arquivo_nome = $_FILES['imagem']['name'];
$arquivo_temp = $_FILES['imagem']['tmp_name'];

$diretorio = 'imagens/';

$arquivo_URL = $diretorio . basename($arquivo_nome);

if(move_uploaded_file($arquivo_temp, $arquivo_URL)):
     
     $sql = "INSERT INTO images (image, image_text) VALUES ('$arquivo_nome', '$image_text')"; 
     $insere = mysqli_query($conexao, $sql);

     if($insere):
       echo "Cadastrado com sucesso.";
      else:
       echo "Houve um erro ao cadastrar.";   
     endif;
else:
    echo "Não foi possível mover a imagem.";
endif;

Lembrando que no seu form, você deve usar o enctype="multipart/form-data" e um campo do tipo file.

 

<input type="file" name="imagem" />

Para listar.. basta fazer normalmente como php assim:

 

$query = mysqli_query($conexao, "SELECT image, image_text FROM image");

$url = 'imagens/';

while($imagem = mysqli_fetch_object($query)):
    $img = $url . $imagem->image;
    echo "
          <div class='img-wrapper'>
              <img src='$img' alt='$imagem->image' />
            <div class='descricao'>$imagem->image_text</div>
           </div>";
endwhile;

Bem é por aí a coisa. 

Estude esses códigos e implemente da forma que achar mais fácil.

  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado pela resposta @DiF!!

 

Eu montei aqui e deu certo! Era um erro besta, mas que eu desconhecia. Eu não estava mandando todas as informações que precisavam ser inseridas na tabela. Eu estava mandando 2 valores. Eu mandava a string que refere-se ao diretorio da imagem e outra que é referente a uma descrição dela. Enquanto eu precisava na realidade mandar 3 valores: $id , $image e $image_text.

 

Depois que eu terminasse de escrever este post eu ia correr atras de um metodo para mostrar a imagem na tela, mas parece que esse metodo tá aqui mesmo hahah! Mt Obrigado!!

 

 

 

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Reberth Siqueira Só uma dica. 

 Se o objetivo era mostrar uma foto e todos os comentários relacionados a ela e somente ela,  você terá que modelar seu banco para que tenha pelo menos duas tabelas.

Onde seria  imagem e comentario

Então, a tabela comentário irá ter uma chave estrangeira para receber o valor ID da tabela imagem.

Você faria um relacionamento de 1:N, onde uma imagem, pode ter N comentários. :thumbsup:

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@DiF Então, a minha dúvida principal era sobre como criar um registro da imagem que eu to fazendo upload para meu ambiente de trabalho.

 

 

1 hora atrás, DiF disse:

Você faria um relacionamento de 1:N, onde uma imagem, pode ter N comentários. :thumbsup:

 

Eu não tinha isso em mente. Mas achei legal a ideia... Como eu poderia procurar no google para encontrar mais informações sobre esse metodo? (algo como "how to pic comments in php"?)

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Reberth Siqueira

14 horas atrás, Reberth Siqueira disse:

Como eu poderia procurar no google para encontrar mais informações sobre esse metodo? (algo como "how to pic comments in php"?)

Isso você encontra em todo lugar, youtube, google..

Isso é basicamente criar duas tabelas e relacionar uma com a outra. Esta seria a resposta mais curta.

 

Um tempo a tras eu gravei um video tutorial de como criar estes relacionamentos de forma correta.

 

Parte dois

 

 

O video retrata como criar o relacionamento e fazer consultas. 

O exemplo foi usado com notícias, mas você pode adaptar para mostrar uma imagem e seus respectivos comentários.

  • Curtir 1

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





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!