
23/10/2004, 17:32
|
| | Fecha de Ingreso: noviembre-2003 Ubicación: Madrid
Mensajes: 353
Antigüedad: 21 años, 5 meses Puntos: 1 | |
Eliminar fotos de una carpeta Buenas, tengo una carpeta con más de 2000 fotografias subidas por usuarios, el problema es que puse un formulario para que los usuarios pudieran poner anuncios y subir una foto. Pero cuando se eliminaba el anuncio no se eliminaba la foto correspondiente.
Lo que ha sucedido es obvio, hay unos 800 registros en la base de datos, pero casi 3000 fotografias.
Necesito poder eliminar todas las fotos que no estan vinculadas a un registro.
El código que se me ha ocurrido es este:
<%
dir="/WWW/images/anuncios/" 'carpeta con las fotos
Set Mi_directorio=Server.CreateObject("Scripting.FileS ystemObject")
Set mis_archivos=Mi_directorio.GetFolder(Server.MapPat h(dir))
cont=1
For Each archivo_encontrado In mis_archivos.files
cont=cont
foto_eliminar= dir&archivo_encontrado.Name ' La ruta más el nombre de la foto
if cont < 100 then ' Cuento hata 300 fotos para que el bucle no genere un cuelgue en el ordenador
sql = "SELECT thumbnail, image1 from anuncios WHERE (thumbnail = "&foto_eliminar&" or image1 = "&foto_eliminar&" " ' Como de cada foto generaba un thumbnail y la propia foto, reviso ambos campos.
on error resume next
set rs = cn.Execute(sql)
While not rs.EOF
foto2 = rs("thumbnail")
foto3 = rs("image1")
if foto_eliminar <> foto2 or foto_eliminar <> foto3 then
fotoOK=1
else
fotoOK = 0
end if
rs.MoveNext
Wend
rs.Close
Set rs = Nothing
If fotoOK = 1 then
foto_eliminar.Delete
end if
end if
cont=cont+1
response.Write("<br>")
Next
%>
Pero el ordenador se queda totalmente "tostao" ¿Alguna sugerencia?
__________________ Lo menos frecuente en este mundo es vivir. La mayoría de la gente existe, eso es todo... |