Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mkboy

Deletar registro com arquivo!

Recommended Posts

Tenho uma página de fotos.Nesta página tenho a opção deletar, que ao clicar para deletar uma imagem, eu envio o ID dela e faço um delete.beleza, eu exclui o registro, mas a foto ficou no server, e isso, se tratando de um portal de fotos é problema, pois vou ficar com centenas de fotos no server, mesmo excluido do banco.Então, a grande dúvida: COMO É QUE EU DELETO O ARQUIVO JPG/GIF do servidor junto com a exclusão do registro do banco de dados!Se tivesse tutoriais, dicas de como faz, fico agradecido! :rolleyes:

Compartilhar este post


Link para o post
Compartilhar em outros sites

recupera antes de remover o registro, o nome da imagem e a pasta, e com FSO você consegue remover...falows

Compartilhar este post


Link para o post
Compartilhar em outros sites

FSO você consegue remover...

É, essa parte da remoção com FSO que num entendo, ja acessei o site e nao entendi!

Pode me dar algum exemplo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

E so você usar este codigo e simples

 

 

ASP [/tr][tr]

Set fso = CreateObject("Scripting.FileSystemObject")

fso.DeleteFile ("C:\Inetpub\wwwroot\fotos\"&nome_da_imagem&""),true

 

[/tr]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então eu fiz um sistema assim hoje... você tem que pegar o ID, e antes de deletar do banco de dados, voce tem que pegar os dados do que você quer pagar da pasta...salvando o nome, você cria o FSO... e deleta o arquivo ai deleta o registro... se você tiver que apagar multiplos registros, então faz um simples looping e quando fizer o final do arquivo então deleta o registro...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que não foi!

Óia o que fiz:

 

Tenho a página onde os registros são listados.

Nela coloquei um link para deletar o registro, e abri outra página, uma espécie de preview, chamada excluir.asp

 

Nela eu faço um select e localizo a imagem e coloco num campo hidden, assim:

 

ASP [/tr][tr]<input type="hidden" name="imagem" value="../fotos/<%=RSb("b_fotos")%>">[/tr]

 

E a página seguinte é onde eu envio o ID da foto, e faço o delete o registro do banco, e antes da exclusão eu coloquei o código para remover a imagem, veja:

 

ASP [/tr][tr]<% if Request("cod") = "02" then %>

 

<%

imagem = Request.form("imagem")

 

Set fso = CreateObject("Scripting.FileSystemObject")

fso.DeleteFile ("..\fotos\"&imagem&""),true

 

 

strrs = "DELETE FROM tb_fotos WHERE b_id=" & request.QueryString("id_fff")

conexao.execute(strrs)

 

response.write "<br><br><center><font face=""verdana"" color=""#ff0000"" size=""1"">Foto excluida com sucesso!</font></center>"

 

end if %>

[/tr]

 

Outra dúvida, tem que ser o caminho físico, esta foto o caminho fisico é:

 

:\Documents and Settings\Administrador\Meus documentos\Galery\Comercial\Ballyhoo\testes\01\fotos\t02.jpg

Pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse é o caminho físico de minha foto no meu PC, os espaçõs se eu tirar ele reconhece?

C:\Documents and Settings\Administrador\Meus documentos\Galery\Comercial\Ballyhoo\testes\01\fotos\t02.jpg

É esse mesmo que devo colocar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você tirar os espaços ele não reconhece, pois entendera como uma coisa sópor exemplo: C:\Fotos Praia\Imagem 001.jpgse você colocar: C:\FotosPraia\Imagem001.jpg no código ASP para remover, ele não vai encontrar o caminho!!falows

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pro codigo funciona, e obrigatorio colocar o caminho fisico, no seu caso ele vai fica assim

 

ASP [/tr][tr]

 

<%

 

imagem = Request.form("imagem")

 

Set fso = CreateObject("Scripting.FileSystemObject")

fso.DeleteFile ("C:\Documents and Settings\Administrador\Meus documentos\Galery\Comercial\Ballyhoo\testes\01\fotos\t02.jpg\"&imagem&""),true

 

%>

[/tr]

Se você colocar desta forma, vai deletar a imagem que você escolheu, no diretorio que esta setado no FSO

 

, Qualquer duvida , tamos ai

 

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual erro ta dando, pois era pra deletar direto...

Compartilhar este post


Link para o post
Compartilhar em outros sites

ASP [/tr][tr]<%

Response.Expiresabsolute = Now() - 2

Response.AddHeader "pragma","no-cache"

Response.AddHeader "cache-control","private"

Response.CacheControl = "no-cache"

 

id = request("id")

SQL="SELECT * FROM fotos WHERE id=" & id

SET RS2 = Server.CreateObject("AdoDB.RecordSet")

RS2.Open SQL,Conexao

 

nome = rs2("foto")

 

rs2.close

set rs2 = nothing

 

SET FSO = Server.CreateObject("Scripting.FileSystemObject")

 

FSO.DeleteFile rs_site("caminho_upload_imoveis") & nome

 

SET FSO = Nothing

 

SQL="DELETE * FROM fotos WHERE id=" & id

SET RS = Server.CreateObject("AdoDB.RecordSet")

RS.Open SQL,Conexao

[/tr]

 

ae ta um codigo que fiz que antes de deletar o registro ele deleta a imagem de pois o registro =)

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ué! Num foi!

 

Eu fiz, e quando clico para deletar, a página para, fica lento, ae num faz mais nada, não sai da página atual, preciso até fechar o navegador pois o site todo fica travadão de lento.

 

Desabilitei o norton anti virus, o internet security e a mesma coisa.

 

 

Fiz assim com o caminho fisico:

 

ASP [/tr][tr]<% if Request("cod") = "02" then %>

 

<% SQLa = "Select * from tb_fotos where b_id =" & request.QueryString("id_fff")

Set RSa = conexao.execute(SQLa)

 

foto = rsa("b_fotos")

response.write ""&foto&""

 

Rsa.close

SET RSa = Nothing

 

Set fso = CreateObject("Scripting.FileSystemObject")

 

fso.DeleteFile ("C:\Documents and Settings\Administrador\Meus documentos\Galery\Comercial\Ballyhoo\testes\01\fotos\"&foto&""),true

 

 

 

SET FSO = Nothing

 

strrs = "DELETE FROM tb_fotos WHERE b_id=" & request.QueryString("id_fff")

conexao.execute(strrs)

 

response.write "<br><br><center><font face=""verdana"" color=""#ff0000"" size=""1"">Foto excluida com sucesso!</font></center>"

 

end if %>

[/tr]

 

E fiz com MAP Path, para nao precisar ficar mudando o caminho quando for subir para web.

 

ASP [/tr][tr]<% if Request("cod") = "02" then %>

 

<% SQLa = "Select * from tb_fotos where b_id =" & request.QueryString("id_fff")

Set RSa = conexao.execute(SQLa)

 

foto = rsa("b_fotos")

 

Rsa.close

SET RSa = Nothing

 

SET FSO = Server.CreateObject("Scripting.FileSystemObject")

 

fso.DeleteFile(Server.MapPath("../fotos/"&foto&""))

 

SET FSO = Nothing

 

strrs = "DELETE FROM tb_fotos WHERE b_id=" & request.QueryString("id_fff")

conexao.execute(strrs)

 

response.write "<br><br><center><font face=""verdana"" color=""#ff0000"" size=""1"">Foto excluida com sucesso!</font></center>"

 

end if %>

[/tr]

Compartilhar este post


Link para o post
Compartilhar em outros sites

ai cara.. se pode postar esse codigo funcando ai p/ min???

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao, num sei se você ja fez isso, mais no norton tem um negocio de blokei de scripts maliciosos, tenta desativa-lo, e o fireweel do Windows tbm, pode ser....falooow

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.