In PHP puoi passare per reference solo le variabile, non il risultato di una funzione. end() richiede un array passato per referenza, quindi devi prima assegnarlo ad una variabile:
Codice PHP:
$tmp = explode('.',$_FILES['upfile']['name']);
$file_ext=strtolower(end($tmp));