Now that you’ve ensured that the code is correct, its time to return to the original problem. The first error message that copy encountered a “Permission denied” error is the interesting one. The second error is just a side effect of the first.
What the first error says is that your server is unable to execute the line
copy( $tmp_file, $new_file );
the variable $new_file contains your destination file name /var/www/vhosts/rushfm.co.nz/httpdocs/wp-content/uploads/2012/01/rome-vegestall.jpg
. This indicates that the server can’t write to the uploads directory.
Check the permissions on the uploads directory and its sub-directories.
/peter