todas esas preguntas que haces las puedes sacar del manual
http://www.php.net/features.file-upload
ahi podras ver como sacar el nombre, y por que tus archivos se quedan en em temp y como moverlos.
pero te pongo este codigo, tomado exactamente del manual.
Código PHP:
<?php
// In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead
// of $_FILES.
$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . $_FILES['userfile']['name'];
print "<pre>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
print "File is valid, and was successfully uploaded. ";
print "Here's some more debugging info:\n";
print_r($_FILES);
} else {
print "Possible file upload attack! Here's some debugging info:\n";
print_r($_FILES);
}
print "</pre>";
?>
espero te ayude.