La mia ipotesi (sicuramente errata) è che l'interprete php sul server non abbia la funzione getimagesize. Eliminando dal codice il suo utilizzo funziona!
Infatti la tua ipotesi è errata
Il messaggio di errore è abbastanza esplicativo. Il problema sta nel fatto che utilizzando la funzione getImageSize() cerchi di aprire il file presente in /var/tmp/, ma tale percorso non è presente nella direttiva open_basedir (che definisce le directory cui è consentita l'apertura dei file), quindi ricevi un permesso negato.

A meno di non modificare direttamente la direttiva nel file di configurazione, prova a spostare il file con move_uploaded_file() e fai il resto delle operazioni sul file spostato.

http://it.php.net/features.safe-mode