vedi un pò se in locale (dato ke ti funziona) il "register global" sta su on... forse è perchè è settato off che non và... cmq io uso qst script e mi funziona ( solo su file piccoli!!)
$userfile_tmp = $_FILES['userfile']['tmp_name'];
$userfile_name = $_FILES['userfile']['name'];
$filesize = $_FILES['userfile']['size'];
move_uploaded_file($userfile_tmp, $uploaddir . $userfile_name);
dove "userfile" e il nome del campo form della pagina html dove passa il file alla pagina contente qst script php...