Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/02/2011, 19:10
Avatar de Mono-R
Mono-R
 
Fecha de Ingreso: abril-2006
Ubicación: Bs. As. Argentina
Mensajes: 155
Antigüedad: 20 años, 5 meses
Puntos: 1
Pregunta Buscador de multiples archivos

Que tal gente!
Estoy haciendo un buscador de archivos en local (PC). Es para la búsqueda de muchos archivos a la vez.
tengo dos variables que recibo por POST, una es el string de la búsqueda, ej:

2525
3662
...

Y la otra es el path, ej: c:/misarchivos/
Utilizo el siguiente script, pero no logro hacer que haga lo que quiero, pues solo me devuelve una coincidencia, y si está es la del primer string que separo del string principal, es decir, 2525. Por lo que veo el segundo bucle solo se ejecuta una vez!
Alguien me podrá echar una mano?

Código PHP:
if($_SERVER['REQUEST_METHOD'] == "POST"){
    
    
// Tomamos los valores ingresados en el formulario
    
$buscar = $_POST['consulta'];
    
$path = $_POST['url']; 

    
//echo $path;
    
    // Si está vacío, lo informamos, sino realizamos la búsqueda
    
if(empty($buscar)){
        
        echo 
"No se ha ingresado una cadena a buscar";
        
    }else{
        
        
$saltoLinea = chr(13);
        
        
// Obtengo los codigos numéricos separados  ej: "5698"
        
while($pos !== false){
            
            
// Separo el string numerico
            
$pos = strpos($buscar, $saltoLinea, 1); //determinamos la ubicación del caracter marca "chr(13)"
            
$cap = substr($buscar, 0, $pos); //extraemos el primer numero
            
$largoCadena = $buscar - $pos;
            
$buscar = substr($buscar, $pos, $largoCadena);
            
            
//echo "Primer número: ".$cap."<br><br>";
            //echo "Nuevo string: ".$buscar."<br><br>";
            
                
if ($gestor = opendir($path)){
                    
                    
//echo "Gestor de directorio: $gestor <br>\n";
                    //echo "Archivos: <br>\n";
                    
                    /* Esta es la forma correcta de iterar sobre el directorio. */
                    
while (false !== ($archivo = readdir($gestor))){
                        
                        
//echo "$archivo <br>\n";
                        
                        
if (strrpos($archivo, $cap)) { 
                           
                            echo 
"Archivo encontrado!!! <br>";
                            echo 
"$archivo<br>";  
                                
                        }else {  
                         
                            
//echo "No se encontraron coincidencias!";     
                            
                        
}
                        
                        
                    }
                    
                    
closedir($gestor);
                    
                }else{
                    
                    echo 
"No se encontraron coincidencias!"; 
                    
                }
            
        }
        
    }
    
} 
__________________
:-) ... cuanto más intento aprender descubro lo poco que se ... :pensando: