Puoi provare ad usare copy(), ma il concetto è lo stesso e a me sembra che il tuo codice sia corretto.
Comunque.... prima di mollare, fai una prova così:
Codice PHP:
$target = "c:/cartella/di/salvataggio/";
$file = $_FILES['upfile']['name']; // mi raccomando: apice singolo per gli array
$file_tmp = $_FILES['upfile']['tmp_name']; // mi raccomando: apice singolo per gli array
if (move_uploaded_file($file_tmp, "$target/$file")) {
echo "File [$file_tmp] salvato correttamente nella directory [$target] con il nome di [$file]";
} else {
echo "Errore nel salvataggio.
File TMP [$file_tmp]
Directory [$target]
Nome File [$file]";
}
Vedi quali errori ti restituisce e poi semmai posta di nuovo