Ke errore ti fa visualizzare, quello che ti fa uscire la scritta Errore?
Se si allora vuol dire che questo
if (@in_array($_FILES['imagefile']['type'], $tipi_consentiti))
{
ritorna false; se è così prova a fare prima dell'if
echo "Il tipo del file è ---> " . $_FILES['imagefile']['type'];
exit;
se non ti dà nulla allora vuol dire che vi sono dei problemi nell'invio del file.
A questo punto controlla il log di Apache per vedere se ti dà delle informazioni.
Controlla il file php.ini nella sezione dell'upload (può darsi che come cartella temporanea per i file di upload hai settato una cartella che non esiste).