Es por este input:
Código PHP:
Ver original<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.