2010-10-13 13 views

Respuesta

38
  • copy() copia el archivo - que ahora tiene 2 archivos, y para archivos de gran tamaño, esto puede tomar mucho tiempo
  • rename() cambia el nombre del archivo, el cual puede significar moverlo entre directorios.
  • move_uploaded_file() es básicamente lo mismo que rename(), pero solo funcionará en archivos que se hayan subido mediante el mecanismo de carga de PHP. Esta es una función de seguridad que evita que los usuarios engañen al script para que les muestre datos relevantes para la seguridad.

En el futuro, sugiero buscar dicha información en el PHP Manual usted mismo.

+18

+1 para el amigable RTFM :) –

+0

sí, buena respuesta. –

8

I encontraron esta en el manual de move_uploaded_file():

Florian S. en H. an der E. [.de] en 17-Aug-2008 09:02

move_uploaded_file (en mi configuración) siempre crea archivos 0600 (rw- --- ---) y es propiedad del usuario que ejecuta el servidor web (propietario Y grupo). ¡Aunque el directorio tiene un bit adhesivo establecido en los permisos del grupo! No pude encontrar ninguna configuración para cambiar esto a través de php.ini o incluso usando umask().

Quiero que mi usuario habitual en el servidor pueda tar cjf el directorio ... que fallaría en los archivos que pertenecen por completo al usuario del proceso web-servidor; ¡la función copy(from, to) obedece al bit adhesivo!

por lo que parece que copy y rename hacen un trabajo ligeramente diferente.

Cuestiones relacionadas