I have a very basic upload script, probably lifted straight off the php.net/move_upload_files function page.
move_uploaded_file() is failed because it canno
I was just having this issue as well, came across this website for a solution - did not get it tho ;)
I was getting the correct info when viewing print_r($_FILES) but was unable to execute move_uploaded_file...
I solved the issue by checking the $upload_file path attribute in the move_uploaded_file function - make sure it is correct otherwise it will not work (mine was incorrect).
Also, the file in the temp location gets removed automatically, I think that is the way PHP works.
I hope this helped.