Calsse eveFile: manipulação de arquivos
Publicado por EVERTON DA ROSA 27/12/2007
[ Hits: 6.608 ]
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!"); } } } ?>
Redimensionador de fotos em PHP
Consulta Amazon! Buscas na Web
Cria gráficos para monitoramento de consumo de CPU e Memória a partir de arquivos [Atualização].
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
E a guerra contra bots continua
Tradução do artigo do filósofo Gottfried Wilhelm Leibniz sobre o sistema binário
Conheça o firewall OpenGFW, uma implementação do (Great Firewall of China).
Instalando o FreeOffice no LMDE 6
Anki: Remover Tags de Estilo HTML de Todas as Cartas
Colocando uma opção de redimensionamento de imagem no menu de contexto do KDE
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (21)
Debian Bookworm para a versão beta Debian 13 Trixie (1)
material de assembly x64 [RESOLVIDO] (5)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba