This isn't a valid file path in windows: c:\temp\php2
If $userfile is your temp file path, then, before you invoke copy, just add the line:
$userfile = stripslashes($userfile);
Had the same problem. The manual says nothing about this little 'gotcha'.
matt.