Foros del Web » Programando para Internet » ASP Clásico »

Problema al listar archivos y borrarlos...

Estas en el tema de Problema al listar archivos y borrarlos... en el foro de ASP Clásico en Foros del Web. Hola a todos: Pues no sé si esto sea posible pero aqui explico mi problema... Utilizo el siguiente codigo para listar los archivos de una ...
  #1 (permalink)  
Antiguo 23/07/2008, 14:03
Avatar de ciisteado  
Fecha de Ingreso: enero-2008
Ubicación: Home Office
Mensajes: 111
Antigüedad: 16 años, 4 meses
Puntos: 0
Pregunta Problema al listar archivos y borrarlos...

Hola a todos:

Pues no sé si esto sea posible pero aqui explico mi problema... Utilizo el siguiente codigo para listar los archivos de una carpeta "X"

Código HTML:
<%
	Set fs = Server.CreateObject("Scripting.FileSystemObject")
	Set lista_archivos = fs.GetFolder(Server.MapPath("./fotos"))
	contador=0
	For each filefound in lista_archivos.files
		nombrearchivo=filefound.Name
		contador=contador+1
%>
		<input type="checkbox" name="foto" value="<%=contador%>"/><%response.write(nombrearchivo&"<br>")%>
<%	Next%> 
despues de listarlos(como veran a cada nombre de archivo le antepongo un checkbox) yo pretendo eliminar todos los archivos que hayan sido seleccionados mediante el checkbox, el codigo que pretendo utilizar para el borrado es el siguiente:

Código HTML:
<%
	Dim fs,archivo
	ubica="fotos/"& request("archivo")
    archivo = server.mappath(ubica)
	Set fs = CreateObject("Scripting.FileSystemObject")
	if fs.FileExists(archivo)=False then
		response.write "El Archivo no Existe"
	else
		fs.DeleteFile(archivo)
		response.write "El Archivo fue borrado correctamente"
    end if
%> 
El problema esta en que no se como pasarle multiples valores al archivo de borrado... multiples valores me refiero a pasarle todos los nombres de archivo que hayan sido seleccionados mediante el checkbox...

espero haberme explicado... y ojala puedan ayudarme... cualquier post lo agradecere bastante...

Saludos y gracias...
  #2 (permalink)  
Antiguo 23/07/2008, 14:29
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 21 años, 9 meses
Puntos: 16
Respuesta: Problema al listar archivos y borrarlos...

Haste un arreglo que contenga todos los nombres de los archivos seleccionados y luego haces un loop borrando los archivos uno a uno.
  #3 (permalink)  
Antiguo 23/07/2008, 14:48
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Respuesta: Problema al listar archivos y borrarlos...

y por que eliminaras el contador y no el nombre del archivo???
Cita:
<%
Set fs = Server.CreateObject("Scripting.FileSystemObject")
Set lista_archivos = fs.GetFolder(Server.MapPath("./fotos"))
contador=0
For each filefound in lista_archivos.files
nombrearchivo=filefound.Name
contador=contador+1
%>

<input type="checkbox" name="foto" value="<%=contador%>"/><%response.write(nombrearchivo&"<br>")%>
<% Next%>
existe algun archivo que se llame "1", sin extension?

solo es una observacion

__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #4 (permalink)  
Antiguo 23/07/2008, 15:07
Avatar de ciisteado  
Fecha de Ingreso: enero-2008
Ubicación: Home Office
Mensajes: 111
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Problema al listar archivos y borrarlos...

Cita:
y por que eliminaras el contador y no el nombre del archivo???

<%
Set fs = Server.CreateObject("Scripting.FileSystemObject")
Set lista_archivos = fs.GetFolder(Server.MapPath("./fotos"))
contador=0
For each filefound in lista_archivos.files
nombrearchivo=filefound.Name
contador=contador+1
%>
<input type="checkbox" name="foto" value="<%=contador%>"/><%response.write(nombrearchivo&"<br>")%>
<% Next%>

existe algun archivo que se llame "1", sin extension?

solo es una observacion
Hola Shiryu_Libra:

Pues yo suponia que con un contador seria mas facil saber de que archivo se trata, suponiendo que en la carpeta conserven el mismo orden con que los liste en el primer archivo... ahora analizando lo que dice Muzztein creo que es lo mejor, tomar los nombres seleccionados y meterlos a un arreglo despues recorrer ese arreglo e irlos borrando... ahora lo intentare y ya les contare que ha pasado...

Gracias por su ayuda...
  #5 (permalink)  
Antiguo 24/07/2008, 08:35
Avatar de ciisteado  
Fecha de Ingreso: enero-2008
Ubicación: Home Office
Mensajes: 111
Antigüedad: 16 años, 4 meses
Puntos: 0
Exclamación Respuesta: Problema al listar archivos y borrarlos...

Hola a todos:

Pues he conseguido meter los archivos seleccionados a un arreglo y pasarlo a la siguiente pagina(elimina.asp), pero ahora el problema es que a la hora de extraerlos solo me elimina el primer archivo y los demas no los toma en cuenta...

Este es el codigo que utilizo, ojala puedan ayudarme a ver el "horror"...

Código PHP:
<%
    
Dim fotos,arreglo 'Define variables
    Dim fs,archivo,ubica
    fotos=request("vectorfotos") '
Asigna los valores recibidos de la "eliminasolicitud.asp" a la variable "fotos"
    
arreglo=split(fotos,","'Con la funcion Split extrae los datos en formato de arreglo
    for i=Lbound(arreglo) to Ubound(arreglo) '
Recorre el arreglo y asigna cada valor a la variable "nombrearchivo"
        
nombrearchivo=arreglo(i' Asigna cada elemento del arreglo a la variable "nombrearchivo"
        ubica="fotos/"& nombrearchivo &"" ' 
Arma la ruta en la que estan almacenados los archivos
        archivo 
server.mappath(ubica' Asigna la ruta virtual a la variable archivo
        Set fs = CreateObject("Scripting.FileSystemObject") '
Crea el objeto FSO
        
if fs.FileExists(archivo)=True then ' Checa si el archivo existe lo elimina de la carpeta
            fs.DeleteFile(archivo)
        else ' 
Si el archivo NO existe manda un letrero a pantalle
            response
.write "El Archivo "archivo &" no Existe"&"<br>"
        
end if
    
next
%> 
Ya he mostrado todos los archivos en pantalla y si los recorre, pero a la hora de borrarlos solo lo hace con el primero y los siguientes archivos dice que "NO EXISTEN"....

Agradezco enormemente cualquier ayuda...

Saludos y gracias nuevamente....
  #6 (permalink)  
Antiguo 24/07/2008, 09:17
Avatar de ciisteado  
Fecha de Ingreso: enero-2008
Ubicación: Home Office
Mensajes: 111
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Problema al listar archivos y borrarlos...

Hola:

Tema resuelto, el problema estaba en que la funcion Split me retornaba los elementos del arreglo con un espacio en blanco al inicio y obviamente el nombre original del archivo que era por ejemplo: "C:\fotos\archivo1.jpg" la aplicacion lo tomaba como "C:\fotos\ archivo1.jpg" y por eso decia que el archivo no existia pues el espacio en blanco al inicio del nombre del archivo hacia que no coincidieran ambos nombres... solo tuve que agregar un "Replace" despues de asignar el elemento del arreglo a la variable "nombrearchivo", el codigo quedo de esta forma:

Código HTML:
<%
	Dim fotos,arreglo
	Dim fs,archivo,ubica,nomarchivo,nombrearchivo
	fotos=request("vectorfotos")
	arreglo=split(fotos,",")
	for i=Lbound(arreglo) to Ubound(arreglo)
		nomarchivo=arreglo(i)
		nombrearchivo=replace(nomarchivo," ","")
		ubica="fotos/"&nombrearchivo&""
		archivo = server.mappath(ubica)
		Set fs = CreateObject("Scripting.FileSystemObject")
		if fs.FileExists(archivo)=False then
			response.write("El Archivo "&archivo&" no Existe"&"<br>")
		else
			fs.DeleteFile(archivo)
		end if
	next
%> 
Y listo, de esta forma la aplicacion funciona al 100%...

Gracias a todos los que colaboraron...

Saludos...
  #7 (permalink)  
Antiguo 24/07/2008, 14:52
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 21 años, 9 meses
Puntos: 16
Respuesta: Problema al listar archivos y borrarlos...

Perfecto.
cuando uno hace los arreglo debe simepre verificar que no hayan elementos vacios, para eso es ta el TRIM que recorta el string al inicio y al final, y tb revisar que no sea nulo cada uno de los elementos del arreglo con un IF = ""

Saludos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:44.