Calsse eveFile: manipulação de arquivos
Publicado por EVERTON DA ROSA 27/12/2007
[ Hits: 6.871 ]
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!"); } } } ?>
Automatizando tradução i18n do seu codigo
Validação de e-mail usando o DIG
Mapeamento dinâmico de dados em PHP
Monitoramento de Temperatura do Servidor
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Debian 13 Trixie para Iniciantes
Convertendo pacotes DEB que usam ZSTD (Padrão Novo) para XZ (Padrão Antigo)
Debian 13 "trixie&... lançado! (44)
Rust é o "C da nossa geração"? (3)
Gerenciador de arquivos é finalizado ao abrir pasta específica (2)