Calsse eveFile: manipulação de arquivos
Publicado por EVERTON DA ROSA 27/12/2007
[ Hits: 6.746 ]
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!"); } } } ?>
Receber atualização de encomendas do correios em seu e-mail
Mostra a quantidade dos dias da semana em intervalo
Install PHP8, 8.2, 8.3 no Deepin 23
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI