La carga de archivos PHP no lee $ _FILES

tengo este tipo de entrada

 

el usuario agregará el archivo de imagen desde aquí y el código PHP para cargar el archivo

 if(isset($_FILES['profile_image'])) { $image_type = $this->getImageType($_FILES['profile_image']); if($image_type == 'image') { $extension = pathinfo($_FILES['profile_image']['name'], PATHINFO_EXTENSION); $filename = '123_'.uniqid().'.'.$extension; move_uploaded_file($_FILES['profile_image']['tmp_name'], '../functions/images/images/'.$filename); } } else { $filename = 'default_profile_image.jpg'; } 

y el getImageType

 public function getImageType($file) { $imageMime = getimagesize($file['tmp_name']); $type = explode('/', $imageMime['mime']); return $type[0]; } 

pero no lee $_FILES['profile_image'] y se mueve a la parte else. ¿Por qué no lee $ _FILES? ¿Hay algo que falta?

agregue este código en la etiqueta del formulario
enctype="multipart/form-data"