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