Y .. visitastes yá PHP.net para ver la sintax de uso de dichas funciones? ..
www.php.net/copy www.php.net/chmod
Te invito a leerlas (está en castellano también por si acaso) ... Y si tienes dudas -concretas- sobre alguna de esas funciones preguntalas.
A grandes rasgos ..
copy() cópia un archivo dado de la ruta origen a la destino (con su nombre que quedará en destino) ..
chmod() ajusta los permisos de lectura/escritura/ejecución del archivo (en tu caso del copiado) .. El 0777 es un número Octal que expresa quien puede leer/escribir/ejecutar ese archivo. Se refiere a usuarios creados en sistemas *NIX (lease Linux etc) (más detalles en el foro Linux o bien en un manual de Linux). Si usas Windows .. simplemente no tiene efecto dicha función.
También te recomiendo que leas:
http://www.php.net/manual/en/features.file-upload.php
El "código" que pusistes no sé donde lo has sacado y en que contexto estaba .. pero son funciones para copiar archivos y directorios completos .. Pero no para hacer un "upload" de un archivo desde el PC cliente de un usuario de tu web ..
(para que uses en lugar de copy() la función move_uploaded_file() y los arrays superglobales $_FILES).
Un saludo,