First -> What errors are you getting, we cannot help you debug if we don't know whats going on
Second -> If you're simply uploading a file why are you using foreach? foreach is for working with like Arrays, and for uploading a file you don't need an Array do you?
When uploading a single file all you really need is
CODE
/ Where the file is going to be placed
$target_path = "your_directory/";
/* Add the filename to the path.
Result is "your_directory/filename.extension" */
$target_path = $target_path . basename( $_FILES['your_upload_control']['name']);
$_FILES['your_upload_control']['tmp_name'];
$target_path = $target_path . basename( $_FILES['your_upload_control']['name']);
if(move_uploaded_file($_FILES['your_upload_control']['tmp_name'], $target_path)) {
echo "The file ". basename( $_FILES['your_upload_control']['name']).
" has been uploaded";
} else{
echo "There was an error uploading the file, please try again!";
}
No need to work with an Array for a file.
Third -> You have your $target_path as
\My Documents\. Are you attempting to let people upload files to your My Documents folder? This isn't going to work, the directory needs to be a directory on your web server, not your personal computer (unless they are both in the same, even then don't use My Documents).
I hope this helps you out, and gets you going in the right direction

Happy Coding!