Ir para conteúdo
Fórum Script Brasil
  • 0

Class Files


vini_loock

Pergunta

<?php
    /*----------------------------------------------------------------------------------------------------//
    //----------------------------Class de tratamento de arquivos - PHP-----------------------------------//
    //----------------------------------------------------------------------------------------------------//
    //-----Todos os direitos reservados - Vinicius Siuta Borges-------------------------------------------//
    //-----Contato: viniciussiutaborges@hotmail.com-------------------------------------------------------//
    //--------||--: viniciussiutaborges@gmail.com---------------------------------------------------------//
    //----------------------------------------------------------------------------------------------------*/
    class Files{
        private $file,
                $file_ext,
                $file_name,
                $file_dir;
        
        private $ext_validas = array('jpg', 'png', 'gif', 'bmp', 'rar', 'zip', 'wma');
        
        private $upload_dir = 'temp',
                $temp_dir = 'temp';
        
        public function __construct($file = ''){
            if($file != '')$this->start($file);
        }
        
        private function start($file = ''){
            $this->file = $file;
            $info = pathinfo($file);
            $this->file_name = $info['filename'];
            $this->file_ext = $info['extension'];
            $this->file_dir = str_replace($this->file_name.'.'.$this->file_ext, '', $this->file);
        }
        
        public function setFile($file){
            $this->start($file);
        }
        
        public function getFile(){
            return $this->file;
        }
        
        public function setExt($ext = array('zip')){
            $this->ext_validas = $ext;
        }
        
        public function getExt(){
            return $this->ext_validas;
        }
        
        public function setUploadDir($dir){
            $this->upload_dir = $dir;
        }
        
        public function getUploadDir(){
            return $this->upload_dir;
        }
        
        public function setTempDir($dir){
            $this->temp_dir = $dir;
        }
        
        public function getTempDir(){
            return $this->temp_dir;
        }
        
        public function copy($old, $new){
            if(copy($old, $new)){
                return true;
            }
            return false;
        }
        
        public function move($old, $new){
            if(rename($old, $new)){
                return true;
            }
            return false;
        }
        
        public function upload($file){
            $pre_name = date('YmdHis').rand(0, 999);
            move_uploaded_file($file['tmp_name'], $this->temp_dir.'/'.$pre_name.$file['name']);
            $this->start($this->temp_dir.'/'.$pre_name.$file['name']);
            if($this->valida()){
                $this->move($this->file, $this->upload_dir.'/'.$pre_name.$file['name']);
                $this->start($this->upload_dir.'/'.$pre_name.$file['name']);
            }else{
                $this->delete();
            }
        }
        
        public function delete(){
            if(file_exists($this->file) && unlink($this->file)){
                return true;
            }
            return false;
        }
        
        public function valida(){
            if(in_array($this->file_ext, $this->ext_validas)){
                return true;
            }
            return false;
        }
    }
?>

Editado por vini_loock
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...