Cita:
Iniciado por DarkJ move_uploaded_file copia un fichero que esta en el servidor a otra carpeta del servidor. No sube el fichero del ordenador del cliente al servidor. De eso se encarga HTTP y PHP lo que hace es antes de empezar a ejecutar tu script PHP copia los datos de los ficheros que ha recibido de HTTP y los guarda en la carpeta que tenga configurada (normalmente la carpeta temporal del servidor) y carga los datos en el array $_FILES.
Si, copy y move_uploaded_file son practicamente identicos (originalmente se usaba directamente copy), solo se diferencian en el tema de permisos de accesos. copy esta restringido por los permisos de accesos que tenga el usuario bajo el que se ejecuta PHP, y solo puede acceder a los ficheros y directorios a los que tenga permisos. move_uploaded_file puede saltarse esa limitacion solo para acceder al directorio donde PHP guarda los ficheros subidos.
Que en este caso es el directorio temporal solamente, y no copia archivos de otro lado (su nombre lo dice move_uploaded_file) es decir mueve el archivo de /tmp al directorio final.
Saludos.