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