però tu stai facendo un upload sfruttando html5 e javascript, di conseguenza è normale che non sia definita la variabile $_FILES['qqfile']['tmp_name'].
Il controllo va diversificato in base al tipo di upload eseguito quindi conviene aggiungere un metodo alle due classi qqUploadedFileXhr e qqUploadedFileForm, ad esempio validate(),
e quando vai a fare lo switch tra il tipo di upload verrà eseguita e poi gestita la validazione corretta.

Codice PHP:
if (isset($_GET['qqfile'])) {             
  
$this->file = new qqUploadedFileXhr();  
  
$this->file->validate();       
} elseif (isset(
$_FILES['qqfile'])) {             
  
$this->file = new qqUploadedFileForm(); 
  
$this->file->validate();         
} else {             
  
$this->file false;          


nel caso sia stato eseguito un upload con classica form
allora la validate() farà il controllo sulla variabile $imageInfo come dicevamo prima

$imageInfo = getimagesize($_FILES['qqfile']['tmp_name']);

se invece è stato eseguito un upload con xhr la validate() farà il controllo adeguato