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));