Ir para conteúdo

POWERED BY:

Arquivado

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

sr.silva

Excluir arquivos Fisicamente

Recommended Posts

Isso pode ser feito facilmente com FSO..

 

Exemplo:

 

<% '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("uploads/imagens")'Verifica se o arquivo existe.. caso sim, deleta o mesmoIf Fso.FileExists(Caminho & "\foto1.jpg") Then  Fso.DeleteFile(Caminho & "\foto1.jpg")End If'destrói o objeto fso que foi criado...Set Fso = Nothing %>
Para pastas, eu nunca utilizei, mas se não me engano é só alterar para Fso.DeleteFolder

 

Qualquer dúvida dá um grito ai!

Abraços

 

------------------------------------------------------

 

script postado pelo <%Rafael%>, disponível em :

http://forum.imasters.com.br/index.php?sho...mp;#entry677015

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, beleza ??òtimo codigo, so que o seguinte, caso eu queira que o arquivo seja deletado de outra forma, exemplo:Eu uso um codigo pra listar os arquivos dentro da pasta, dai queria criar um link "Excluir" para cada arquivo,COmo faria isso??Teria que criar uma arquivo delete.asp edirecionar para ele ??Grato !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, beleza ??òtimo codigo, so que o seguinte, caso eu queira que o arquivo seja deletado de outra forma, exemplo:Eu uso um codigo pra listar os arquivos dentro da pasta, dai queria criar um link "Excluir" para cada arquivo,COmo faria isso??Teria que criar uma arquivo delete.asp edirecionar para ele ??Grato !

exatamente.favor postar duvidas no forum principal de ASP

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, beleza ??

 

òtimo codigo, so que o seguinte, caso eu queira que o arquivo seja deletado de outra forma, exemplo:

 

Eu uso um codigo pra listar os arquivos dentro da pasta, dai queria criar um link "Excluir" para cada arquivo,

 

COmo faria isso??

 

Teria que criar uma arquivo delete.asp edirecionar para ele ??

 

Grato !

Entao jonathandj A duvida seria em cima desse codigo, como eu faria essa pagina DELETE ???

 

Poderia me ajudar ?? Grato !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, beleza ??

 

òtimo codigo, so que o seguinte, caso eu queira que o arquivo seja deletado de outra forma, exemplo:

 

Eu uso um codigo pra listar os arquivos dentro da pasta, dai queria criar um link "Excluir" para cada arquivo,

 

COmo faria isso??

 

Teria que criar uma arquivo delete.asp edirecionar para ele ??

 

Grato !

Entao jonathandj A duvida seria em cima desse codigo, como eu faria essa pagina DELETE ???

 

Poderia me ajudar ?? Grato !

 

garoto..

trabalha em cima de um banco de dados qui você consegue..

lista ele

recupera o conteudo do banco

cria uma variavel com o valor..

e beleza..

coloka la no lugar do Foto.jpg

etc..

ele vai deleta

qq coisa..

add ae

php02@msn.com

eh php meu email.. mais asp eu gosto mais..

huaehuea

flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala galera! beleza?

Seguinte... achei bem interessante este script... e gostaria de implementa-lo em meus scripts atuais de um sistema de imoveis que uso, porém tenho a dúvida de como adapta-lo ao meu codigo:

 

Meus codigos são 2:

 

 

um para excluir a foto e o thumb de dentro do imóvel (ele atualiza o banco de dados em branco)

<%
on error resume next

cod = request("cod")

if request("foto") = 1 then
	muda = "ds_foto1"
end if
if request("foto") = 2 then
	muda = "ds_foto2"
end if
if request("foto") = 3 then
	muda = "ds_foto3"
end if
if request("foto") = 4 then
	muda = "ds_foto4"
end if
if request("foto") = 5 then
	muda = "ds_foto5"
end if

str = "Update T01_Imovel set "
str = str & ""& muda &" = '' " 
str = str & "WHERE t01_cd_imovel = "& cod &""



set rs2 = db.execute(str)
response.redirect "foto1.asp?cod="&cod
%>

 

O Outro exclui o imóvel todo, mais também não remove os arquivos de imagem (Thumb e foto)

<%
on error resume next
set rsnews = db.execute("select * from t01_imovel where t01_cd_imovel ="& Request("cod")&"")
txt = "O usuário excluiu o imovél: <b><i>"&rsnews("ds_titulo")

db.execute ("Delete from t01_imovel where t01_cd_imovel ="& Request("cod"))
if err.number <> 0 then
	Response.Write "<script language='JavaScript'> alert('Exclusão mal sucedida!');history.back()</script>"
else
	Response.redirect "imovel_listar.asp"
end if
%>

 

Então a dúvida é consigo e como faze-lo excluir os 2 tipos de imagem?

 

Valeu galera! obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É só você utilizar o código do sr. silva e informar o caminho dos dois arquivos. No caso você terá que usar o código duas vezes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala galera, montei desse jeito aqui ó... o script executa mais nem ta apagando o caminho no bd nem excluindo a foto :huh:

porém não da nenhum erro.

 

<%
on error resume next

cod = request("cod")
if request("foto") = 1 then
	muda = "ds_foto1"
end if
if request("foto") = 2 then
	muda = "ds_foto2"
end if
if request("foto") = 3 then
	muda = "ds_foto3"
end if
if request("foto") = 4 then
	muda = "ds_foto4"
end if
if request("foto") = 5 then
	muda = "ds_foto5"
end if

str = "Update T01_Imovel set "
str = str & ""& muda &" = '' " 
str = str & "WHERE t01_cd_imovel = "& cod &""

'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 quiser
Caminho = Server.MapPath("fotos")
'Verifica se o arquivo existe.. caso sim, deleta o mesmo
If Fso.FileExists(Caminho & foto) Then
  Fso.DeleteFile(Caminho & foto)
End If

set rs2 = db.execute(str)
'destrói o objeto fso que foi criado...
Set Fso = Nothing
response.redirect "foto1.asp?cod="&cod
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não dar erro devido ao on error resume next. Retira ele que aparecerá o erro.

 

Na linha abaixo faltou a barra invertida.

Caminho & "\" & foto

 

Você tem que informar também o nome do arquivo da foto, com extensão e tudo mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa hargon,

Me ajudando de novo, valeu cara!

 

Fiz o que você falou de colocar a barra invertida e remover o "on error resume next" beleza, esta removendo do BD o caminho da imagem porém não remove fisicamente a foto nem o thumb.

Creio que como você falou terei de colocar o nome da imagem como está salvo no bd certo? mais pra recuperar uso select?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso, recupere através de um SELECT, antes de excluir o registro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa hargon,

Ficou desse jeito cara, mais apresenta erro referente a linha 61, ai exclui a foto executa no bd mais nada referente ao thumb

 

<%
dim rs, rs2
set rs = db.execute("select * from t01_imovel where t01_cd_imovel ="& Request("cod")&"")
cod = request("cod")
if request("foto") = 1 then
	mudafoto = rs("ds_foto1")
end if
if request("foto") = 2 then
	mudafoto = rs("ds_foto2")
end if
if request("foto") = 3 then
	mudafoto = rs("ds_foto3")
end if
if request("foto") = 4 then
	mudafoto = rs("ds_foto4")
end if
if request("foto") = 5 then
	mudafoto = rs("ds_foto5")
end if

Set Fso = Server.CreateObject("Scripting.FileSystemObject")
Caminho = Server.MapPath("fotos")
If Fso.FileExists(Caminho & "\" & mudafoto) Then
  Fso.DeleteFile(Caminho & "\" & mudafoto)
End If

cod = request("cod")
if request("thumbs") = 1 then
	mudathumb = rs("ds_thumb1")
end if
if request("thumbs") = 2 then
	mudathumb = rs("ds_thumb2")
end if
if request("thumbs") = 3 then
	mudathumb = rs("ds_thumb3")
end if
if request("thumbs") = 4 then
	mudathumb = rs("ds_thumb4")
end if
if request("thumbs") = 5 then
	mudathumb = rs("ds_thumb5")
end if

Set Fso = Server.CreateObject("Scripting.FileSystemObject")
Caminho = Server.MapPath("thumbs")
If Fso.FileExists(Caminho & "\" & mudathumb) Then
  Fso.DeleteFile(Caminho & "\" & mudathumb)
End If

str = "Update T01_Imovel set "
str = str & ""& mudafoto &" = ' ' "
str = str & ""& mudathumb &" = ' ' "
str = str & "WHERE t01_cd_imovel = "& cod &""

set rs = db.execute(str)
Set Fso = Nothing
response.redirect "foto1.asp?cod="&cod
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual a linha 61? O nome da foto no banco já está com a extensão?

 

Logo após os IF's faça:

response.write Caminho & "\" & mudathumb
response.end

Poste o resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A Linha 61 é a seguinte:

 

set rs = db.execute(str)

o resultado do teste que você me pediu é esse:

 

D:\Webs\issad1\adm\thumbs\

Pelo que eu percebi ele printou somente o caminho e não conseguiu achar a imagem (eles estão salvas com extensão no BD sim)

 

 

 

O erro que havia mencionado que é exibido ao tentar excluir as imagens é o seguinte:

 

Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/adm/upload_exc.asp, line 57

 

Ps: a linha 61 é a 57, eu removi os comentários

Compartilhar este post


Link para o post
Compartilhar em outros sites

escreve o valor de str e poste aqui o resultado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa Mario,

O valor do str é esse:

 

Update T01_Imovel set fotos_20089821313.jpg = ' ' = ' ' WHERE t01_cd_imovel = 83

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso ta errado

 

fotos_20089821313.jpg = ' ' = ' '

 

no lugar de fotos_20089821313.jpg tem que ter o nome do campo e do outro lado o valor que quer que assuma

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que eu poderia fazer pra resolver isso?

 

Já tentei modificar nome de variaveis pra executar o script 2 vezes, um pra foto e outro pro thumb, porém todos apresentam erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

o qeu disse

 

ali é o nome do campo e depois o valor que quer que assuma

 

se for para deixar em branco `faça assim

 

Update T01_Imovel set CAMPO_DE_FOTO = ' ' WHERE t01_cd_imovel = 83

 

altere no lugar onde forma esta query

Compartilhar este post


Link para o post
Compartilhar em outros sites

MArio,

Observei e o problema está aqui:

 

dim rs
set rs = db.execute("select * from t01_imovel where t01_cd_imovel = "& Request("cod")&"")
cod = request("cod")
if request("foto") = 1 then
	muda = rs("ds_foto1")
end if
if request("foto") = 2 then
	muda = rs("ds_foto2")
end if
if request("foto") = 3 then
	muda = rs("ds_foto3")
end if
if request("foto") = 4 then
	muda = rs("ds_foto4")
end if
if request("foto") = 5 then
	muda = rs("ds_foto5")
end if

Usando deste modo quando vou gerar a query dá este problema que. usando assim fica normal, porém qualquer foto do cadastro que eu queira excluir é como se fosse sempre a primeira

 

dim rs
set rs = db.execute("select * from t01_imovel where t01_cd_imovel = "& Request("cod")&"")
cod = request("cod")
if request("foto") = 1 then
	muda = "ds_foto1"
end if
if request("foto") = 2 then
	muda = "ds_foto2"
end if
if request("foto") = 3 then
	muda = "ds_foto3"
end if
if request("foto") = 4 then
	muda = "ds_foto4"
end if
if request("foto") = 5 then
	muda = "ds_foto5"
end if

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.