_pasta = $pasta; } /* função que retorna a atual pasta de consulta da classe */ public function getPasta(){ return $this->_pasta; } /* função usada para setar a pasta em que a busca sera feita */ public function setPasta($pasta){ if($pasta != "") $this->_pasta = $pasta; } /* função que retirna o nomero de arquivos encontrados pelas busca */ public function getNumeroArquivos(){ return count($this->_arquivos); } /* função que retorna true se a extensao passada por parametro se ela constar na lista de filtro */ public function checkFiltro($extensao) { return in_array($extensao, $this->_filtro); } /* retorna os arquivos que forma encontrados na busca */ public function getArquivos(){ return $this->_arquivos; } /* função que adiciona uma extensao aos filtros da busca, a busca não vai retornar os arquivos com a extensao adicionada */ public function addFiltro($extensao){ if(!in_array($extensao, $this->_filtro)) $this->_filtro[] = trim($extensao); } /* função que verifica se a pasta é um diretório , se sim ela executa a funçãoq ue faz a busca */ public function procura(){ if(is_dir($this->_pasta)){ $this->listaArquivos($this->_pasta); } } /* função recursva que faz a busca */ private function listaArquivos($dir){ $handler = opendir($dir); while (false !== ($file = readdir($handler))) { if(!eregi("^[.]+$", $file)){ if(!is_dir($dir."/".$file)){ if(!empty($this->_filtro)){ if(!in_array(strtolower($this->getExtensao($file)), $this->_filtro)) $this->_arquivos[] = ereg_replace(DIRECTORY_SEPARATOR."+", DIRECTORY_SEPARATOR , $dir.$file); }else $this->_arquivos[] = $dir.$file; }else $this->listaArquivos($dir.$file."/"); } } unset($handler); } /* função que retorna o caminho não absoluto do arquivo */ public function retornaLink(){ $this->_arquivos = str_replace($_SERVER['DOCUMENT_ROOT'], "" , $this->_arquivos); } /* função que retorna apenas o nome do arquivo e a extensao do arquivo */ static function retornaNome($iArquivoNome){ $iNome = explode("/",$iArquivoNome); $iNome = end($iNome); return $iNome; } /* função que retorna o tamanho do arquivo, recebido por parametro, em KB */ static function retornaTamanho($iArquivo){ return number_format(filesize($_SERVER['DOCUMENT_ROOT'].$iArquivo) / 1024,2,",","."); } /* função que retona a extenção do arquivo recebido por parametro */ static function getExtensao($iArquivo){ $extensao = explode(".",$iArquivo); return end($extensao); } } $arq = new buscaArquivos; $arq->addFiltro("php"); //adiciona o filtro para a extensao php, assim ele não ira lista os arquivos com esta extenção $arq->procura(); //efetua a busca na pasta determinada echo "$arq->getNumeroArquivos()
"; //monstra o número de arquivos que a busca encontrou. ?>