Si usas move_uploaded_file() en lugar de copy() tendrás menos problemas de permisos al mover los archivos que por defecto PHP sube al directorio /tmp (o al que tenga configurado como upload_tmp_dir en su php.ini .. que se puede ver con phpinfo() también ..)
 
Y si se usan los arrays superglobales $_FILES (si usas PHP 4.1.0 en adelante .. ) mejor todavía. 
Más info en: 
http://www.php.net/manual/en/features.file-upload.php  
Un saludo,