Filisofando

Luis Filipe Costa Carvalho
Definição de hardware e software

Definição de Software: É aquilo que você chinga.
Definição de Hardware: É aquilo que você chuta.

Essa é velha mas é legal!

Assuntos Aleatórios, Interessante, Leu? Comente! 3 Comentários

Classe que lista arquivos

Luis Filipe Costa Carvalho

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 =)

Classes, Desenvolvimento, Interessante, Leu? Comente!, PHP 2 Comentários

Desktop 3D no Windows

Luis Filipe Costa Carvalho
Efeito Cubo no Windows

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”

Ok Fill, mas e ai, até agora eu não vi nada de mais

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!!! =)

Assuntos Aleatórios, Interessante, Leu? Comente!, Software 1 Comentário

Liquidificador Destruindo iPhone

Luis Filipe Costa Carvalho

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? =)

Assuntos Aleatórios, Interessante, Inutilidades, Leu? Comente! 4 Comentários

Busca em Flash

Luis Filipe Costa Carvalho

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?

Desenvolvimento, Interessante Nenhum Comentário
Icons by N.Design Studio. Designed By Ben Swift. Powered by WordPress and Free WordPress Themes
RSS RSS dos Comentários Login