estoy haciendo un múltiple upload y estoy usando jquery para crear otro input cada vez q se quiera cargar otro archivo.
El problema es q si genero campos y no le cargo ningun archivo, no me sigue recorriendo el array.
Por ejemplo, de esta forma sube perfectamente los archivos, siempre y cuando se carguen todos los campos:

Pero de esta forma no me sigue recorriendo el array y se corta, ya q el primero tiene el name vacio:

Código PHP:
           $files = $this->__upload($this->request->data['User']['files']);
 
private function __upload($files = array()){
 
        $valid_formats = array('jpeg', 'jpg', 'png', 'gif', 'pdf');
        $max_file_size = 2097152;
        
        $saveFiles = array();
        //Recorro files
        foreach ($files as $i => $file) {
        //Verifico que no venga vacío el name
            if(!empty($file['name'])){
               //Tamaño de archivos
               $maxFileSize = $file['size'];
 
               if($maxFileSize == 0 or $maxFileSize > $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 extension es permitida, subo archivo
                    if(!in_array($type_archive[1], $valid_formats)){
                        $this->Session->setFlash(__('Extensión de archivo no válida'));
                        $this->redirect($this->referer());                            
                    }else{
                        //Subo archivo
 
                        if ($filename){
                            $saveFiles[] = $filename;
                        }
 
                        //Name de archivos se guardan serializados
                        $files = serialize($saveFiles);
                    }
               }
            }else{
               //Si no hay archivos, se inserta vacío en base de datos
               $files = '';
            }
        }
return $files;
} 
    En q le estoy errando?
Gracias
 

