Foros del Web » Programando para Internet » PHP »

busqueda de archivos en un directorio con PHP

Estas en el tema de busqueda de archivos en un directorio con PHP en el foro de PHP en Foros del Web. Buen día a todos! Estoy tratando de hacer una busqueda de archivos en un directorio con PHP, para ello uso el siguiente codigo: Cita: <?php ...
  #1 (permalink)  
Antiguo 31/03/2009, 07:46
 
Fecha de Ingreso: enero-2009
Mensajes: 85
Antigüedad: 15 años, 2 meses
Puntos: 2
busqueda de archivos en un directorio con PHP

Buen día a todos!

Estoy tratando de hacer una busqueda de archivos en un directorio con PHP, para ello uso el siguiente codigo:


Cita:
<?php
$dir="./";
$dr=opendir($dir);

if(!$dr){
echo "error, no existe el directorio";
exit;
} else {
// recorremos todos los elementos de la carpeta

while (false !== ($archivo = readdir($dr))) {

$archivos[] = $archivo;
echo $archivo;

}
}
closedir($dr);
?>
Hasta aquí voy bien, me extrae una cadena con todos los archivos que tengo en esa ruta, pero ahora necesito extraer de esa cadena ciertos archivos que tienen unos nombres parecidos a esto.

archivo_1_1
archivo_2_1
archivo_3_1

Como podrán ver, estos archivos tienen un nombre en común, pero los dígitos que estan despues de los pisos pueden variar...

La verdad no se como manejar la cadena en este sentido para que pueda extraer esos archivos y así seguir dandole las instrucciones que necesita, pero por ahora, lo que quiero es extraer de esa cadena estos archivos de forma automática, sin yo tener que entrar al código y colocarle los nombres de archivos que necesito.

Espero que alguien pueda ayudarme!!

de antemano muchas gracias!!

Saludos!
  #2 (permalink)  
Antiguo 31/03/2009, 09:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: busqueda de archivos en un directorio con PHP

Hola kim18,

Usa expresiones regulares, así puedes hacer el match, por ejemplo con esta regla:
Código:
/archivo_(\d{1})_(\d{1})/
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 03:18.