Foros del Web » Programando para Internet » PHP »

Eliminar fichero de una lista de ficheros

Estas en el tema de Eliminar fichero de una lista de ficheros en el foro de PHP en Foros del Web. Hola, Quiero listar los ficheros que se encuentran en un directorio, y al lado de cada uno quiero poner un enlace para borrar. Me lista ...
  #1 (permalink)  
Antiguo 22/08/2011, 02:29
 
Fecha de Ingreso: noviembre-2008
Mensajes: 66
Antigüedad: 16 años
Puntos: 0
Eliminar fichero de una lista de ficheros

Hola,

Quiero listar los ficheros que se encuentran en un directorio, y al lado de cada uno quiero poner un enlace para borrar.

Me lista bien los ficheros, pero en el valor del botón para borrar, siempre me pone el del último fichero, por lo tanto da igual a que fichero de le para borrar que siempre me borra el último. ¿Qué me está fallando?

Aquí os pongo mi código, espero que podáis ayudarme:

<form action="Eliminar.php" method="POST">
<?php
if ($gestor = opendir('../files')) {
echo "<ul>";
while (false !== ($arch = readdir($gestor))) {
if ($arch != "." && $arch != ".." && $arch!=="Thumbs.db") {

echo "<li><a href=\"../files/".$arch."\" class=\"linkli\">".$arch."</a></li>\n";
$rutaFich = "../files/" . $arch;
echo $rutaFich;
?>

<input type="hidden" name="fichero" value="<?php echo $rutaFich; ?>" >
<input name="enviar" type="submit" value="Eliminar fichero" />

<?php
}
}
?>
</form>
  #2 (permalink)  
Antiguo 22/08/2011, 02:51
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 8 meses
Puntos: 253
Respuesta: Eliminar fichero de una lista de ficheros

Es por este input:
Código PHP:
Ver original
  1. <input type="hidden" name="fichero" value="<?php echo $rutaFich; ?>" >

En cada iteración de tu bucle, este input se sobreescribe, ya que aunque tengas un input por cada iteración, todos tienen el mismo nombre, luego siempre se enviará en el form el último que pusieras. Tienes que hacer dos cosas:
- Primero, cambiar el name de fichero a fichero[], para que así lo que se envíe en $_POST['fichero'] sea un array de nombres de ficheros.
- Segundo, incluir algún tipo de input (radiobutton, checkbox...) que haya que marcar para saber cuál vas a querer eliminar. Luego, en el tratamiento del formulario tienes que acceder al array fichero[] y borrar únicamente aquel que tuviera su control seleccionado.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #3 (permalink)  
Antiguo 22/08/2011, 04:29
 
Fecha de Ingreso: noviembre-2008
Mensajes: 66
Antigüedad: 16 años
Puntos: 0
Respuesta: Eliminar fichero de una lista de ficheros

Muchas gracias, alfinal lo he solucionado poniendo un link a la pagina de Eliminar.php y pasandole como parametro el nombre del fichero a eliminar. En la pagina de Eliminar.php con un GET cojo el nombre del ficheroy lo elimino.

De todas formas, muchas gracias por la aportacion.

saludos
  #4 (permalink)  
Antiguo 22/08/2011, 04:39
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 8 meses
Puntos: 253
Respuesta: Eliminar fichero de una lista de ficheros

Pues si, también te vale esa opción, me alegro que lo sulucionaras. Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?

Etiquetas: fichero, ficheros, lista
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 06:51.