Ir para conteúdo

POWERED BY:

Arquivado

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

Carlos Moreira

Apagando imagem de pasta

Recommended Posts

Olá pessoal td bem?

 

Peguei o código seguinte no laboratório de escripts e moldei ele para quando eu for deletar um registro e com isso apago a imagem respectiva aquele registro.

 

Ele apaga o registro do banco mas a imagem da pasta nao!!!

e se eu coloco no código abaixo o nome direto da imagem ele apaga

 

If request.Form("Submit")="Sim" thenConn.Execute("Delete * FROM imoveis where id="&Request.form("id")&"")imagem = Request.Form("imagem")'primeiro crie o objeto fso...Set Fso = Server.CreateObject("Scripting.FileSystemObject")'Declare o caminho da pasta onde estão os arquivos, no caso coloquei o MapPath mas você pode colocar o caminho físico tambem se quiserCaminho = Server.MapPath("../imagens/imoveis")'Verifica se o arquivo existe.. caso sim, deleta o mesmoIf Fso.FileExists(Caminho & "\'"&imagem&"'") Then  Fso.DeleteFile(Caminho & "\'"&imagem&"'")End If'destrói o objeto fso que foi criado...Set Fso = NothingResponse.Redirect "imovellist.asp"End if

Compartilhar este post


Link para o post
Compartilhar em outros sites

certamente o caminho está errado, faça o seguinte

no lugar de

Caminho = Server.MapPath("../imagens/imoveis")
coloque

Caminho = "c:\inetpub\wwwroot\site\imagens\imoveis"
(obviamente coloque o caminho correto de acordo com suas configurações)

e nessa parte

If Fso.FileExists(Caminho & "\'"&imagem&"'") Then  Fso.DeleteFile(Caminho & "\'"&imagem&"'")End If
troque por

If Fso.FileExists(Caminho & "\"&imagem&"") Then  Fso.DeleteFile(Caminho & "\"&imagem&"")End If
(sem aspas simples)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala jonathandj, valeu pela dicamas realmente nao funcionou estou testando direto no ar, mas mesmo assim nao foicoloquei assim:

e assim:

If Fso.FileExists(Caminho & "\"&imagem&"") Then Fso.DeleteFile(Caminho & "\"&imagem&"")End If

o que devo fazer por que mesmo massim nao funcionou

Compartilhar este post


Link para o post
Compartilhar em outros sites

è o seguinte jonathandj

 

quando eu coloco o nome do arquivo direto ELE APAGA exemplo:

 

 

If Fso.FileExists(Caminho & "\foto1.jpg") Then  Fso.DeleteFile(Caminho & "\foto1.jpg")End If

E quando esta assim ele não paga

 

If Fso.FileExists(Caminho & "\"&imagem&"") Then  Fso.DeleteFile(Caminho & "\"&imagem&"")End If

o que posso fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

abaixo desta linha

imagem = Request.Form("imagem")

coloque

response.write(imagem)response.end
possivelmente não está chegando o nome da imagem pelo request e essa alteração vai nos mostrar no browser se está vazio ou não

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%Call abre_conexao(ConnString,Conn)Set RS = Server.CreateObject("ADODB.Recordset") msql = "SELECT * FROM imoveis where id="&request.querystring("id")&""RS.Open msql, Conn,3,3%><table width="500" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td><form name="form1" method="post" action=""> <table width="400" border="0" align="center" cellpadding="3" cellspacing="1"> <tr> <td bgcolor="<%=Cor1%>" class="textoform">Referência:</td> <td bgcolor="<%=Cor2%>" class="texto"><%=RS("id")%></td> </tr> <tr> <td bgcolor="<%=Cor1%>" class="textoform">Categoria:</td> <td bgcolor="<%=Cor2%>" class="texto"> <%categ1 = RS("categoria1") Set RScateg = Server.CreateObject("ADODB.Recordset") msql = "SELECT * FROM categorias1 where id="&categ1&""Set RScateg.activeconnection = Conn 'Verifica se tem registro, se nao tiver exibe que não temRScateg.Open msql, Conn,3,3do until RScateg.eof%> <%= RScateg("categoria1")%> <% RScateg.movenextloopRScateg.Close Set RScateg = Nothing%> </td> </tr> <tr> <td bgcolor="<%=Cor1%>" class="textoform">Titulo:</td> <td bgcolor="<%=Cor2%>" class="texto"><%=RS("titulo")%></td> </tr> <tr> <td width="85" valign="top" bgcolor="<%=Cor1%>" class="textoform">Descrição::</td> <td width="300" valign="top" bgcolor="<%=Cor2%>" class="texto"><%= Replace(RS("descricao") & "", vbLf, "<br>") %></td> </tr> <tr> <td valign="top" bgcolor="<%=Cor1%>" class="textos"><p><strong> <input name="imgem" type="hidden" id="imagem" value="<%=RS("imagem")%>"> </strong></p> </td> <td bgcolor="<%=Cor2%>" class="texto"><strong><font color="<%=Cor1%>">Deseja Apagar este Imóvel?</font></strong><font color="<%=Cor1%>" size="2" face="verdana"> </font><font size="2" face="verdana"><br> <label></label> </font><strong> <input name="id" type="hidden" id="id" value="<%=RS("id")%>"> <input type="submit" name="Submit" value="Sim"> </strong> <input name="button" type="button" OnClick="history.go(-1)" value="Não"></td> </tr> </table> </form></td> </tr> </table><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td> <%If request.Form("Submit")="Sim" thenConn.Execute("Delete * FROM imoveis where id="&Request.form("id")&"")imagem = Request.Form("imagem")response.write(imagem)response.end'primeiro crie o objeto fso...Set Fso = Server.CreateObject("Scripting.FileSystemObject")'Declare o caminho da pasta onde estão os arquivos, no caso coloquei o MapPath mas você pode colocar o caminho físico tambem se quiserCaminho = Server.MapPath("../imagens/imoveis")'Verifica se o arquivo existe.. caso sim, deleta o mesmoIf Fso.FileExists(Caminho & "\"&imagem&"") Then Fso.DeleteFile(Caminho & "\"&imagem&"")End If'destrói o objeto fso que foi criado...Set Fso = NothingResponse.Redirect "imovellist.asp"End if%><%RS.Close Set RS = Nothing Call fecha_conexao() %> </td> </tr> </table>

Lembrando que eu estou no endereço do website www.dominio.com.br/adminpor isso o ../ acima

Compartilhar este post


Link para o post
Compartilhar em outros sites

troque

<input name="imgem" type="hidden" id="imagem" value="<%=RS("imagem")%>">
por

<input name="imagem" type="hidden" id="imagem" value="<%=RS("imagem")%>">
esta faltando um A no name

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poxa jonathandj, obrigado pela paciencia KRA!!! realmente esse forum do imasters é o melhor do Brasil deu certinho!!!!era esse o problema e tambem no meu banco o caminho ja estava la eu estava colocando novamente no ../pasta/pasta agora deu certinho!!! referente ao name errado as vezes passa desapercebido mesmo né..Valeu abraço a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja isso como eu tenho várias imagens estou fazendo assim:

If Fso.FileExists(Caminho & "\"&imagem&"") Then Fso.DeleteFile(Caminho & "\"&imagem&"") Fso.FileExists(Caminho & "\"&imagem1&"") Then Fso.DeleteFile(Caminho & "\"&imagem1&"") Fso.FileExists(Caminho & "\"&imagem2&"") Then Fso.DeleteFile(Caminho & "\"&imagem2&"") Fso.FileExists(Caminho & "\"&imagem3&"") Then Fso.DeleteFile(Caminho & "\"&imagem3&"")End If

Mas esta dando esse erroMicrosoft VBScript compilation error '800a0401' Expected end of statemento que poderia ser?

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.