Ir ao conteúdo
  • Cadastre-se

Como usar unlik() do php para excluir imagem do pasta. e do banco


Ir à solução Resolvido por DiF,

Posts recomendados

  • Moderador
  • Solução

@FabianoS

 

é unlink() 

 

faltou colocar um N entre a letra i  e a letra k.

 

é bem simples na verdade.. basicamente você envia por GET o ID do registro onde contém o nome da imagem no banco de dados... resgata do banco o nome da imagem... usa o unlink() para tirar a imagem da pasta e depois dá um DELETE na tabela do nome da imagem... exemplo:

 

No site, o botão de excluir imagem:

<?php   //depois de ter feito a consulta no banco pegando o ID e o nome da imagem para exibir em tela  $id = $resultado->id; //link<a href='exclui.php?id=<?php echo $id; ?>'>Excluir foto </a>

no arquivo exclui.php

<?php  include 'conexao.php';  //recebe o valor via GET   $id = $_GET_['id'];  $diretorio = "imagens/upload/";  $pegaValores = mysqli_query($conexao, "SELECT imagem FROM tabela WHERE id = $id");  $imagem = mysqli_fetch_object($pegaValores);  $imagemQueVaiDeletada = $diretorio . $imagem->imagem;   $deleta = unlink($imagemQueVaiDeletada);    if($deleta):    mysqli_query($conexao, "DELETE FROM tabela WHERE id = $id");  endif;     

Seria algo parecido com isso

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@FabianoS

 

é unlink() 

 

faltou colocar um N entre a letra i  e a letra k.

 

é bem simples na verdade.. basicamente você envia por GET o ID do registro onde contém o nome da imagem no banco de dados... resgata do banco o nome da imagem... usa o unlink() para tirar a imagem da pasta e depois dá um DELETE na tabela do nome da imagem... exemplo:

 

No site, o botão de excluir imagem:

<?php   //depois de ter feito a consulta no banco pegando o ID e o nome da imagem para exibir em tela  $id = $resultado->id; //link<a href='exclui.php?id=<?php echo $id; ?>'>Excluir foto </a>

no arquivo exclui.php

<?php  include 'conexao.php';  //recebe o valor via GET   $id = $_GET_['id'];  $diretorio = "imagens/upload/";  $pegaValores = mysqli_query($conexao, "SELECT imagem FROM tabela WHERE id = $id");  $imagem = mysqli_fetch_object($pegaValores);  $imagemQueVaiDeletada = $diretorio . $imagem->imagem;   $deleta = unlink($imagemQueVaiDeletada);    if($deleta):    mysqli_query($conexao, "DELETE FROM tabela WHERE id = $id");  endif;     

Seria algo parecido com isso

 

KKK unlink() tava meio na pressa. até imaginei que seria separada o unlink do DELETE...valeu.

 

Só mais uma coisa sobre o  outro post . eu podia passsar as variaveis usando method GET por um link ?

<a href="recebe.php?id=<?php echo $id;?>">
Link para o comentário
Compartilhar em outros sites

@FabianoS

 

Sim.. você pode sempre passar um ou mais valores via GET.... contando que no arquivo do link  seja recebido o valor.

 

Só atente-se que o GET é para pequenos valores... já para um formulário de cadastro ou outro do tipo... tem de ser via POST

 

Sim são pequenos valores , e eu sei que ele passa pela url os valores então como cadastro nao é uma boa ideia, eu usaria post. seria so pra pegar descrição de produtos e passar para um span. como nome e etc... 

 

 

ficaria como assim ?

<a href="recebe.php?<?php echo $nome,$etc,$etc;?>">
Link para o comentário
Compartilhar em outros sites

@FabianoS

 

Não isso não pode fazer.  não vai funcionar.

 

Veja que esse método é só para QUANDO quer enviar algum valor por parâmetro. na URL apenas isso.

 

Se quer trazer a descrião de um produto.. basta fazer um SELECT no banco e apresentar em tela.

 

 

Sim ja fiz isso pra os produtos ai minha ideia e , crei um loop para mostrar os itens e coloquei o formulario dentro pra quando clicar ele mandar as variaveis para outra pagina assim, como se fosse confirmação de produto tendeu ? 

 

mais sim era só uma duvida , ia ficar muito horrível o código e ja como havia falado usarei o compo input hidden para mostrar os valores depois.

 

To fazendo esse site só para aprender mesmo, descobri muita coisa com php. só nao conseguir fazer sozinho o upload multiplo de imagens com array.

 

fora que tem size,error,type de arquivo. 

 

 

pegando os códigos dos outros e fácil mais ai e tenso. 

Link para o comentário
Compartilhar em outros sites

  • Moderador

@FabianoS

 

então, eu compreendi a sua ideia...  e reforço o que eu já tinha dito:

 

A parte de confirmação de produtos precisa estão na SESSÂO. só assim.   até por que, se tu não coloca na sessão... e depois retira um dos produtos.. ele ainda iria ser listado

 

então precisas criar um tipo de carrinho de compras onde armazena tudo na sessão

Link para o comentário
Compartilhar em outros sites

@FabianoS

 

então, eu compreendi a sua ideia...  e reforço o que eu já tinha dito:

 

A parte de confirmação de produtos precisa estão na SESSÂO. só assim.   até por que, se tu não coloca na sessão... e depois retira um dos produtos.. ele ainda iria ser listado

 

então precisas criar um tipo de carrinho de compras onde armazena tudo na sessão

 

 

@dif Eu nao vou precisar usar sessão porque nao vou salvar um produto, seria mais  Só chamar para confirmação.

Link para o comentário
Compartilhar em outros sites

  • Moderador

@FabianoS

 

Meio que me fiquei confuso.... no que tu quer...

 

que tipo de dados de confirmação?

 

algo do tipo:

Depois de preencher um formulário de cadastro com os seguintes dados:  Nome, endereço, e-mail e submeter o formulário...

 

E aí  na próxima página aparecer:

Confira os dados que serão cadastrados em nosso banco de dados:Nome:  Fulano de talEndereço: lá onde o vento faz a curva, 123e-mail: [email protected]  Cadastrar   

Clicando em corrigir volta para o formulário 

Clicando em cadastrar, insere em uma tabela no banco de dados

Link para o comentário
Compartilhar em outros sites

  • Moderador

@FabianoS

 

Ahhh  entendi... pô isso é o básico do básico irmão....

 

verdade, nesse caso não precisa de sessão porque você vai sempre controlar tudo pelo ID do item.

 

então tipo...  quando tu faz uma query para trazer o item em tela no slide, você já traz junto o ID dela....

 

então cria o link com um arquivo tipo:  exibeDetalhes.php

 

esse exibe detalhes recebe por GET o ID

 

e lá você faz outra query baseada no ID para trazer os dados.

 

exemplo:

<a href="exibeDetalhes.php?id=<?php echo $id;?>"><img src="imagens/item.jpg"/></a>

Vamos supor que esse trecho esteja dentro do seu slide onde você coloca um link na imagem  do item... 

 

aí na página exibeDetalhes.php 

$id = $_GET["id"];include'conexao.php';$pegaDetalhes = mysqli_query($conexao, "SELECT * FROM tabela WHERE id= $id");while($itemDetalhes = mysqli_fetch_object($pegaDetalhes):   echo "         <div class='item'>              <h1>$itemDetalhes->nome</h1>              <p class="descricao"> $itemDetalhes->descricao</p>                            <h1>Especificações técnicas</h1>              <ul>                 <li>Polegadas: $itemDetalhes->polegadas</li>                 <li>HDMI: $itemDetalhes->conexoes</li>                 <li>Conversor digital: $itemDetalhes->conversorDigital</li>                 <li>Dimensões com base: $itemDetalhes->tamanho</li>                 <li>Led: $itemDetalhes->led</li>                 </ul>";endwhile;

Quando o usuário clicar na imagem do item no seu slide..   chama o arquivo  exibeDetalhes.php

 

O resultado do código acima por exemplo seria:

div class='item'>              <h1>Televisão LG modelo 50LN5400</h1>              <p class="descricao"> Esta televisão supimpa vai oferecer o melhor do multimídia para toda sua família</p>                            <h1>Especificações técnicas</h1>              <ul>                 <li>Polegagas: 50"</li>                 <li>HDMI: sim</li>                 <li>Conversor digital: sim</li>                 <li>Dimensão com base: 1136 x 727 x 264 mm</li>                 <li>Led: sim</li>                 </ul>

este seria o resultado em HTML que seria exibido ao usuário.. trazendo os dados daquele item em si..

acho que agora acertei na interpretação

Link para o comentário
Compartilhar em outros sites

Isso ae kkkkk. eu ja ate fiz . mais nao seria quando ele clicasse na imagem em sim um botão escrito qualquer coisa que seria um formulario.

por isso usei o input hidden. 

 

Ja que ele só vai fazer consulta ou confirmar nao vai adicionar outro produto nao ia ter necessidade de usar .

 

Mais gostei mais do seu código nao preciso criar um botão hidden para cada variavel. só pegaria o nome ou id e fazeria a pesquisa e retornaria. o resultado com fetch .

Link para o comentário
Compartilhar em outros sites

  • Moderador

@FabianoS

 

No caso, o link da imagem não precisar ser na imagem como eu coloquei no exemplo!

podes criar um botão com CSS   e div   e usar o link nele.

 

Mas se quiser podes sem problemas criar um formulário só com o campo de input type submit... e no action coloca o endereço do link  enviando o id por GET :D

 

Particularmente, eu criaria um botão em css... ou pegaria um no google que contenha 3 estados(normal, hover e active) e colocaria o link

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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...