Ir ao conteúdo
  • Cadastre-se
FabianoS

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

Recommended Posts

Eu vi que usa-se para excluir uma imagem do banco de dados os unlik() e também junto vai a foto, não conseguir entender.

Compartilhar este post


Link para o post
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

  • Curtir 1

Compartilhar este post


Link para o post
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;?>">

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
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;?>">

Compartilhar este post


Link para o post
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.

Compartilhar este post


Link para o post
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. 

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@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: fulano@de.tal.com.brCorrigir  Cadastrar   

Clicando em corrigir volta para o formulário 

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

@dif . nao

 

 

eu fiz tipo criei um slide de item ai a pessoa clica no item ai em outra pagina mostraria o item e descrição . nao seria formulario de cadastro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@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

Editado por dif

Compartilhar este post


Link para o post
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 .

Editado por FabianoS

Compartilhar este post


Link para o post
Compartilhar em outros sites

@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

Compartilhar este post


Link para o post
Compartilhar em outros sites

@dif valeu pela ajuda, sim ou vou fazer o form o pelo link mesmo. no css eu sei um pouquinho por assim dizer . foi linguá que mais me animou.

ai quando descobri css3 vish melhor ainda . o que mais gosto do site e estilização então.

 

mais valeu pela dica . te mais.

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

×