Ao Deletar, Deletar Também As Imagens
#1
Posted 01/11/2004, 17:19
Mais tenho 2 problemas o 1 é
Como faço para na hora de deletar ele também deletar a IMAGEM que esta na pasta imagens?
o outro problema é sobre antes de enviar o arquivo como faço para ele VEREFICAR se a imagem ja existe na pasta, e se no caso existir ele a RENOMEAR?
Mais estou dando critério a 1ª pergunta, sobre deletar
#2
Posted 01/11/2004, 18:41
2) Use a função file_exists().
#3
Posted 01/11/2004, 19:21
Cara eu to iniciando em PHP
e eu tenho o seguinte cod
PHP |
<?php include ("../config.php"); $nome = $_POST['nome']; $por = $_POST['por']; $file = $_POST['file']; $sql = ("DELETE FROM tabela WHERE id = $id"); int unlink ( string imagens/$file) /* Função de deletar*/ $sql = mysql_query($sql) or die ("Erro"); echo '<font color="#404040" size="1" face="Verdana, Arial, Helvetica, sans-serif"><b>Célula deletada com sucesso!</b></font>'; ?> |
Pode notar que a função ainda não está "CERTA" como eu faço para deletar uma imagem que vai ter o NOME $file <--- que pode ter o nome de acordo com o arquivo que está na pasta IMAGENS.
Não sei se fikou claro.
Se puder me ajudar com isso
#4
Posted 01/11/2004, 19:46
unlink('imagens/'.$file); /* Função de deletar*/
#5
Posted 01/11/2004, 20:06
Warning: unlink(imagens/): Is a directory in /home/gregory/public_html/wallpapers/deletar.php on line 10
COD é esse
PHP |
<?php include ("config.php"); $nome = $_POST['nome']; $por = $_POST['por']; $file = $_POST['file']; $sql = ("DELETE FROM tabela WHERE id = $id"); unlink('imagens/'.$file); /* Função de deletar*/ $sql = mysql_query($sql) or die ("Erro"); echo '<font color="#404040" size="1" face="Verdana, Arial, Helvetica, sans-serif"><b>Sucesso!</b></font>'; ?> |
O que está errado? Abraços
Eu quero apenas deletar o $file, não a pasta toda ENTENDE?
Abraços
Edição feita por: gregorytg, 01/11/2004, 20:14.
#6
Posted 01/11/2004, 20:14
Cara, eu tava dando uma olhada ai e uma duvida minha pode até resolver teu problema, pq o campo $file vc coloca o nome da foto?
faça um form onde vc digita apenas o id do campo da tabela que vc quer deletar...
Ai ele vai fazer um select, se for igual a 1 ele deleta a foto e exclui o arquivo.
Fiz um cod aki, testa ai..
<?php include ("config.php"); $sql = "SELECT * FROM tabela where id = '$id' "; $result = mysql_query($sql) or die("Query failed"); while ($r = mysql_fetch_array($result)) { extract($r); } if ($sql == 1) { unlink("imagens/$file"); $del = ("DELETE FROM tabela WHERE id = $id"); } else { echo "Nenhum arquivo foi encontrado"; } ?>
Testa ai!
Edição feita por: danilodepolli, 01/11/2004, 20:17.
danilo@camphost.com.br
CAMPHOST - 1º MES GRATIS EM QUALQUER PLANO! HOSPEDAGEM WEB
QUER PATROCINIO FREE? ENTRE EM CONTATO
ICQ: 7695319
MSN: danilodepolli@bol.com.br
#7
Posted 01/11/2004, 20:15
PHP |
<?php unlink("imagens/$file"); ?> |
#8
Posted 01/11/2004, 20:32
Warning: unlink(imagens/): Is a directory in /home/gregory/public_html/wallpapers/deletar.php on line 10
Eu acho que ele está querendo deletar todo o DIRETORIO.
e eu quero que delete apenas o $file
#9
Posted 01/11/2004, 20:33
#10
Posted 01/11/2004, 20:35
ID ||nome|| por || file
4 ||Dani || ||Dani001.jpg
Pode notar que ele esta mandando o valor certo para o FILE
Edição feita por: gregorytg, 01/11/2004, 20:39.
#11
Posted 01/11/2004, 20:48
Fazendo pelo o que FFMM falou.
PHP |
<?php include ("config.php"); $query = "SELECT * FROM tabela WHERE id = $id"; $result = mysql_query($query) or die ("Error in query: $query. " .mysql_error()); while ($row = mysql_fetch_assoc($result)) { /*while = Enquanto*/ $file = $row['file']; } $nome = $_POST['nome']; $por = $_POST['por']; $sql = ("DELETE FROM tabela WHERE id = $id"); unlink('imagens/'.$file); /* Função de deletar*/ $sql = mysql_query($sql) or die ("Erro"); echo '<font color="#404040" size="1" face="Verdana, Arial, Helvetica, sans-serif"><b>Sucesso!</b></font>'; ?> |
Se tiver algum erro gostaria de que alguém me ajudasce, pois misturei consulta com $_POST
Edição feita por: gregorytg, 01/11/2004, 20:49.
#12
Posted 01/11/2004, 21:19
while ($row = mysql_fetch_assoc($result)) { /*while = Enquanto*/
$file = $row['file'];
}
Por:
$row = mysql_fetch_assoc($result);
$file = $row['file'];
Afinal, teremos um resultado só. O resto ta blz!
#13
Posted 01/11/2004, 21:23
Entendi na verdade é TIRAR o WHILE "enquanto"
Pois ele ja vai fazer a culta pelo $id
Seria +/- isso ?
#14
Posted 02/11/2004, 00:16
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)