Calsse eveFile: manipulação de arquivos
Publicado por EVERTON DA ROSA 27/12/2007
[ Hits: 6.784 ]
Homepage: http://everton3x.github.io
A classe eveFile fornece diversas funções para manipular arquivos e diretórios.
Desta forma, consolida todas as funções do PHP com uma única sintaxe.
<? /* eveQuery: Classe para interação com banco de dados ----------------------------------------------------- Desenvolvido por Everton da Rosa. Licença GNU (www.gnu.org). ----------------------------------------------------- eveFile é uma classe PHP para manipulação de arquivos. Versão 1.1 (19 de novembro de 2007) Funções: criar, salvar uploads, deletar, mover, copiar, renomear, pegar informações, abrir, fechar Futuro: informações do diretório Para detalhes e ajuda complementar, consulte http://www.php.net/manual/pt_BR/index.php (manual em português do PHP) Tópicos recomendados: - Classes e Objetos (PHP 5): http://www.php.net/manual/pt_BR/language.oop5.php - Variáveis: http://www.php.net/manual/pt_BR/language.variables.php - Funções do FileSystem: http://www.php.net/manual/pt_BR/ref.filesystem.php Caso faça correções, melhorias ou modificações, favor contatar o desenvolvedor através do e-mail everton3x@gmail.com enviando o código para atualização da classe nos sites onde ela se encontra hospedada. Para exemplo de uso, veja o arquivo eveFile.samples.php Ao utilizar esta classe, por favor indique seu autor da seguinte forma: ----------------------------------------------------- eveFile: Classe para manipulação de arquivos Desenvolvido por Everton da Rosa (everton3x@gmail.com). Licença GNU (www.gnu.org). ----------------------------------------------------- Ao utilizar código baseado nesta classe, por favor referencie da seguinte forma: ----------------------------------------------------- Baseado na classe eveFile: Classe para manipulação de arquivos, desenvolvida por Everton da Rosa (everton3x@gmail.com) sob licença GNU (www.gnu.org). ----------------------------------------------------- */ class eveFile{ //Classe para manipulação de arquivos public $param = array( 'dir' => 'C:\Documents and Settings\Everton\Desktop\\', //diretório padrão da classe 'save_dir' => 'C:\Documents and Settings\Everton\Desktop\\' //diretório padrão para salvar arquivos ); function save($d=false){ //salva no destino um arquivo carregado por upload. $d é o diretório de destino terminado com \ $f = key($_FILES); if($f){ if(!$d){ $d = realpath($param['save_dir']); } if(!is_dir($d)){ exit('O destino não é um diretório!'); } $m = @move_uploaded_file($_FILES[$f]['tmp_name'],$d.$_FILES[$f]['name']); if(!$m){ exit(E_ALL); }else{ return true; } } } function getName($path=false){ //retorna o nome do arquivo. $path deve conter o caminho completo, incluisve o nome do arquivo ex.: c:\teste.txt if(!is_file($path)){ exit('O caminho informado não é um arquivo!'); } if($path){ $path = $realpath($path); $name = @basename($path); return $name; }else{ exit('Nenhum caminho foi definido!'); } } function getPath($path=false){ //retorna o caminho do arquivo. $path deve conter o caminho completo, incluisve o nome do arquivo ex.: c:\teste.txt if(!is_file($path)){ exit('O caminho informado não é um arquivo!'); } if($path){ $path = realpath($path); $dir = @dirname($path); return $dir; }else{ exit('Nenhum caminho foi definido!'); } } function parse($size=false){ //retorna o tamanho de n bytes em Kb, Mb, Gb, etc. if(!size){ exit('Nenhum tamanho foi passado!'); } if($size<=1024){ $parsed = array( 'size' => $size, 'unid' => 'Byte' ); }else{ $size = $size/1024; if($size < 1024){ $parsed = array( 'size' => $size, 'unid' => 'Kbyte' ); }else{ $size = $size/1024; if($size < 1024){ $parsed = array( 'size' => $size, 'unid' => 'Mbyte' ); }else{ $size = $size/1024; if($size < 1024){ $parsed = array( 'size' => $size, 'unid' => 'Gbyte' ); }else{ $parsed = array( 'size' => $size, 'unid' => 'Gbyte' ); } } } } return $parsed; } function free($path=false){ //exibe o espaço disponível no diretório/disco if(!$path){ $path = realpath($param['dir']); } if(!is_dir($path)){ exit('O caminho informado não é um diretório!'); } $free = @disk_free_space($path); $parsed = $this->parse($free); return $parsed; } function sizeDir($path=false){ //exibe o tamanho total do diretório/disco if(!$path){ $path = realpath($param['dir']); } if(!is_dir($path)){ exit('O caminho informado não é um diretório!'); } $free = @disk_total_space($path); $parsed = $this->parse($free); return $parsed; } function fm($option=false,$conf=false){ //função para manipulação de arquivos if(!$option){ exit('Nenhuma opção de manipulação foi informada!'); } if($option == 'copy'){ //copia o arquivo if(!$conf['from']){ exit('Origem não definida!'); }else{ $o = realpath($conf['from']); } if(!$conf['to']){ exit('Destino não definido!'); }else{ $d = realpath($conf['to']); } if(!is_file($o)){ exit("A origem $o não é um arquivo válido!"); } $c = @copy($o,$d); return $c; }elseif($option == 'move'){ //move um arquivo if(!$conf['from']){ exit('Origem não definida!'); }else{ $o = realpath($conf['from']); } if(!$conf['to']){ exit('Destino não definido!'); }else{ $d = realpath($conf['to']); } if(!is_file($o)){ exit("A origem $o não é um arquivo válido!"); } $m = @rename($o,$d); return $m; }elseif($option == 'delete' || $option == 'del'){ if(!$conf['file']){ exit('Arquivo não definido!'); }else{ $f = realpath($conf['file']); } if(!is_file($f)){ exit("O arquivo $f não é um arquivo válido!"); } $d = @unlink($f); return $d; }elseif($option == 'rename'){ //renomeia um arquivo if(!$conf['from']){ exit('Origem não definida!'); }else{ $o = realpath($conf['from']); } if(!$conf['to']){ exit('Destino não definido!'); }else{ $d = realpath($conf['to']); } if(!is_file($o)){ exit("A origem $o não é um arquivo válido!"); } if(dirname($o) != dirname($d)){ exit('Você não pode renomear um arquivo para diretórios diferentes! Para mover, utilize a opção "move".'); } $r = @rename($o,$d); return $r; }elseif($option == 'open'){// abre um arquivo if(!$conf['file']){ exit('Nenhum arquivo informado!'); }else{ $file = realpath($conf['file']); } if(!$conf['mode']){ $mode = 'rt'; }else{ $mode = $conf['mode']; } if(!is_file($file)){ exit("O arquivo $file não é um arquivo válido!"); } $f = @fopen($file,$mode); return $f; }elseif($option == 'close'){ //fecha um arquivo if(!$conf['file']){ exit('Nenhum arquivo informado!'); }else{ $file = $conf['file']; } $f = @fclose($file); return $f; }elseif($option == 'info'){ //retorna um array con informações do arquivo if(!$conf['file']){ exit('Nenhum arquivo informado!'); }else{ $file = realpath($conf['file']); } if(!is_file($file)){ exit("O arquivo $file não é um arquivo válido!"); } $a['name'] = $this->getName($file); $a['dir'] = $this->getDir($file); $a['last_access'] = @fileatime($file); $a['last_modify'] = @filectime($file); $a['group'] = @filegroup($file); $a['owner'] = @fileowner($file); $a['perms'] = @fileperms($file); $a['size'] = @filesize($file); $a['type'] = @filetype($file); $a['exec'] = @is_executable($file); $a['readable'] = @is_readable($file); $a['writable'] = @is_writable($file); return $a; }elseif($option == 'read'){ //lê o conteúdo do arquivo para um array if(!$conf['file']){ exit('Nenhum arquivo definido!'); }else{ $file = realpath($conf['file']); } if(!is_file($file)){ exit("O arquivo $file não é um arquivo válido!"); } $array = @file($file); return $array; }else{ exit("Opção $option desconhecida!"); } } function dm($option=false,$conf=false){ //funções de gerenciamneto de diretórios if(!option){ exit('Nenhuma opção informada!'); } if($option == 'new' || $option == 'create'){ //cria um diretório if(!$config['dir']){ exit('Nenhum diretório informado!'); }else{ $dir = realpath($config['dir']); } $d = @mkdir($dir); return $d; }elseif($option == 'delete' || $option == 'del'){ //remove o diretório if(!$config['dir']){ exit('Nenhum diretório informado!'); }else{ $dir = realpath($config['dir']); } if(!is_dir($dir)){ exit("O diretório $dir não é um diretório válido!"); } $d = @rmdir($dir); return $d; }elseif($option == 'copy'){ //copia o diretório if(!$conf['from']){ exit('Origem não definida!'); }else{ $o = realpath($conf['from']); } if(!$conf['to']){ exit('Destino não definido!'); }else{ $d = realpath($conf['to']); } if(!is_dir($o)){ exit("A origem $o não é um diretório válido!"); } $c = @copy($o,$d); return $c; }elseif($option == 'move'){ //move o diretório if(!$conf['from']){ exit('Origem não definida!'); }else{ $o = realpath($conf['from']); } if(!$conf['to']){ exit('Destino não definido!'); }else{ $d = realpath($conf['to']); } if(!is_dir($o)){ exit("A origem $o não é um diretório válido!"); } $m = @rename($o,$d); return $m; }elseif($option == 'rename'){ //renomeia o diretório if(!$conf['from']){ exit('Origem não definida!'); }else{ $o = realpath($conf['from']); } if(!$conf['to']){ exit('Destino não definido!'); }else{ $d = realpath($conf['to']); } if(!is_file($o)){ exit("A origem $o não é um diretório válido!"); } $r = @rename($o,$d); return $r; }else{ exit("A opção $option é desconhecida!"); } } } ?>
Mostra a quantidade dos dias da semana em intervalo
Formularios Atomatic Esse vcs vao adorar
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Ingress NGINX Controller CVSS base score of 9.8 (1)
Impossível corrigir problemas, você manteve (hold) pacotes quebrados. (1)
Linux Mint não conecta Wi-Fi sem fio (18)