This class can be used to process forms for uploading multiple files.
The class can check whether the files are not empty, nor exceed a given size limit.
It can also check the file type against lists of allowed and denied file types.
The class can also make file names safer by replacing eventual spaces in the names by underscores.
If there was an error while uploading files, the class throws an exception object that provides information about the error code and an explanatory error message.
If all checks are passed, the class processes the uploaded files moving them to a given directory. If the directory does not exist, the class may create it.