La clase es esta:
Código PHP:
Ver original
# Upload class Cm_Upload{ # Forma de uso # $Upload->UploadConfig($Name,$Path); # $Upload->_Type(); # $Upload->_MinSize(); # $Upload->_MaxSize(); # $Upload->_UploadSave(); # Configuracion protected $_Name = NULL; protected $_Path = NULL; private $_Type = NULL; private $_MinSize = NULL; private $_MaxSize = NULL; # Privates & Condicionales private $_Extencion = NULL; # Constructor public function UploadConfig($Name,$Path){ $this->_Name = $Name; $this->_Path = $Path; } # Convertor Bytes private function _ConvertBytes($size){ return (int) $size; } $size = (int) $size; switch ($tipo) { case 'g': //Gigabytes $size *= 1073741824; break; case 'm': //Megabytes $size *= 1048576; break; case 'k': //Kilobytes $size *= 1024; break; default : $size = -1; } return $size; } # MinSize public function _MinSize($int){ $this->_MinSize = $this->_ConvertBytes($int); } # MaxSize public function _MaxSize($int){ $this->_MaxSize = $this->_ConvertBytes($int); } # Type public function _Type($array){ } $this->_Type = $array; } # Extencion private function _Extencion(){ } # Validador private function _Validator(){ # MinSize if($this->_MinSize!==NULL && $this->_Name['size'] < $this->_MinSize){ echo 'El archivo es inferior a los $this->_MinSize bytes'; return false; } # MaxSize if($this->_MaxSize!==NULL && $this->_Name['size'] > $this->_MaxSize){ echo 'El archivo es mayor a los $this->_MinSize bytes'; return false; } # Extencion echo 'El archivo no es valido.'; return false; } # Escribir Carpeta echo 'Lo sentimos pero no tienes permisos para escribir en $this->_Path'; return false; } return true; } # UploadSave public function _UploadSave($name){ $this->_Extencion(); if($this->_Validator()){ return move_uploaded_file($_FILES[$this->_Name]['tmp_name'],$this->_Path.'/'.$name.'.'.$this->_Extencion); } } }
La forma de uso que le doy:
Código PHP:
Ver original
# Upload $Upload = new Cm_Upload; $Upload->UploadConfig('Foto','../../Content/Merchandising'); $Upload->_Type('jpg,png,gif,bmp'); $Uploaded = $Upload->_UploadSave('Producto'.$Rand);
El problema radica en la funcion _Validator(); especificamente en esta comprobacion:
Código PHP:
Ver original
# Extencion
Hice un echo de $this->_Extencion y me retorna la extencion perfectamente.
Hice un echo de $this->_Type y me retorna un array, recorri ese array y esta perfecto, busque sobre el tema por sangoogle, pero no encontre nada, lo probe y lo probe pero siempre me retorna false :S cuando deberia retornar un true, alguien me podria ayudar? seria de mucha utilidad :)