estoy haciendo un upload multiple y me di cuenta del error q estoy teniendo.
Por ejemplo, subo 3 archivos y uno de esos archivos supera el tamaño permitido y no se guarda nada en base de datos, pero sí me guarda los otros 2 archivos en el directorio.
Como puedo evitar eso?
Código PHP:
       public function upload($files){
 
        //Extensiones de archivos permitidas
        $valid_formats = array('jpeg', 'jpg', 'png', 'gif', 'pdf', 'rar', 'zip');
        $max_file_size = 2097152; // 2 Mb
 
        $saveFiles = array();
        $filesOk = '';
 
//        //Recorro files
        foreach ($files as $i => $file) {
 
            //Verifico que no venga vacío el name (si no existe name, tampoco existe archivo)
            if($file['error'] != 4 && $file['name'] != ''){
               
                //Error = 1: Tamaño de archivo excede al valor seteado en php.ini
                //$max_file_size, tamaño máximo permitido seteado en bootstrap
                if($file['error'] == 1 or $file['size'] > $max_file_size){
                    $this->Session->setFlash(__('El tamaño del archivo no debe ser mayor a 2 Mb'));
                    $this->redirect($this->referer());                        
                }else{
                    //Obtengo extension de los archivos
                    $type_archive = explode('/', $file['type']);
 
                    //Si la extensión es permitida, guardo archivo en directorio
                    //de lo contrario, envío mensaje de error
                    if(!in_array($type_archive[1], $valid_formats)){
                        $this->Session->setFlash(__('Extensión de archivo no válida'));
                        $this->redirect($this->referer());                            
                    }else{
//                        $filename = $this->Ticket->uploadFile($file);
 
                        /* Subo el archivo al directorio */
                        
                        if ($filename){
                            $saveFiles[] = $filename;
                        }
                            //Names se guardan serializados
                            $filesOk = serialize($saveFiles);
                    }
                }               
            }
        }
        
        return $filesOk;
    } 
     
 





