Definição de Software: É aquilo que você chinga.
Definição de Hardware: É aquilo que você chuta.
Essa é velha mas é legal!
Blog de tecnologia, tendência, Web Standards, CSS, XHTML, PHP, Javascript
Definição de Software: É aquilo que você chinga.
Definição de Hardware: É aquilo que você chuta.
Essa é velha mas é legal!
Depois de algum tempo sem postar, hoje decidi postar este artigo que estava no “gatilho” faz algum tempo =)
Aqui na agência onde eu trabalho tive que fazer uma classe que lista os arquivos de uma determinada pasta de todas as suas pastas “filhas”. Para fazer isso decidi fazer uma classe que retornasse todos os arquivos de forma simples, eu aponto a pasta e a classe me retorna o caminho de todos os arquivos que tem dentro dela.
Coloquei a classe aqui no blog mas não ficou muito boa não, então eu decidi, além de deixar a classe aqui, colocar em um arquivo de texto e fazer link.
< ?php
class buscaArquivos{
private $_pasta;
private $_filtro = array();
public $_arquivos = array();
/*
Contrutor da classe, ele cria o objeto seta a pasta de procura da classe como a
pasta raiz do site
*/
public function buscaArquivos(){
$pasta = ereg_replace(DIRECTORY_SEPARATOR."+", DIRECTORY_SEPARATOR , $_SERVER['DOCUMENT_ROOT']."/");
$this->_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ção que 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.
?>
Download da classe que lista arquivos de uma pasta
Esta classe me trouxe grande benefícios e grande facilidades com operações deste tipo. Espero que possa ajudar a voce também e que voce.
QUALQUER elogio, sugestão ou critica será bem-vindo =)
Não é de hoje que eu gosto muito do efeito produzido pelo beryl no linux. Aqueles efeitos especiais de fechamento de janela e o cubo, que é o mais conhecido, sempre dispertaram meu interesse. Confesso que usar este tipo de ferramenta é, nada mais, nada menos que uma forma de enfeitar o seu sistema operacional e que, em min, da gosto de mexer em uma cosia mais bonita =)
O video abaixo demostra alguns efeitos do nosso “animador de telas”
Verdadi, eu sei que isso muita gente já sabe. Agora, que tem um programa que faz isso com o janelas Windows muita gente desconhece.
Estou falando no Yet anOther Desktop Manager 3D. Não, ele não simula exatamente os efeitos do beryl mas emula o efeito cubo. Como ainda esta na versão beta acho que ele avai melhorar bastante.
Fica ai a dica!!! =)
O Liquidificador sangüinário voltou. Só que agora em vez de um iPod ele esta destruindo um iPhone. Já pensou?
Qual será a próxima vitima? =)
Rapidinha!!!!
Já pensou em um site que te mostra por qual a interligação entre os sites que ele encontrou para realizar a busca?
Então conheça o KartOO. Eu achei bem interessante mas creio que ele precise de algumas alterações até que fique realmente “redondo”.
Á… repare que o olho do gênio, que fica perto do campo de busca, segue o seu mouse =)
E você, o que achou da ferramenta?
Comentários Recenter