Wednesday, October 10, 2007

procurar um dado nos files dum directorio


/* este codigo foi a solucao que eu tive para procurar um determinado numero
num dos ficheiros de um directorio. Portanto este script percorre o dir e abre
cada ficheiro a procura do vulgo bilhete */

$directory = getcwd(); // get current working directory (obtem o path do script)
$procurado = $_POST["procurado"]; // este eh o nosso numero k procuramos
$t_bilh = "";
$achou = 0;

$files = array(); //initialize array
if($dir = opendir("$directory/dados/$conc")) {
while(false !== ($f = readdir($dir))) {
if(eregi("\valores__.txt",$f)) { // isto pode nao ter uso para si mas verifica se o nome do ficheiro contem a //palavra valores__.txt, no meu caso precisava
$fstristr = substr($f, 0, 20); // serve para buscar certos caracteres, nao sei se me expressei bem
array_push($files,"$fstristr"); #push into $files array
}
}

for($y = 0; $y < color="#3333ff">$filenome = "dados/$conc/$files[$y]";
if(file_exists($filenome) && is_readable($filenome)) {
$valores = fopen($filenome,"r");
while(!feof($valores)) {
$linhas = fgets($valores,1024); // faz a leitura de cada linha do ficheiro para $linhas
list($bilh) = explode("",$linhas);
$bilhete = str_pad($bilhete, 5, "0", STR_PAD_LEFT);
$t_bilh = str_pad($bilh, 5, "0", STR_PAD_LEFT);
if ($achou == 0) {
if(strstr($bilhete,$t_bilh)) // compare the keys {
$erro_sim = $bilhete." encontrado no ".substr($filenome,9,6);
}
}
} fclose($valores);
} else $erro_nao = "Ficheiro $filenome não existe!
";

}
}
?>

No comments: