Pregunta

Estoy ejecutando PHP 5.2.6 en un cuadro de Windows Server 2003 Enterprise. IIS está configurado para denegar el acceso anónimo y usar la autenticación integrada de Windows.

Estoy usando un script PHP para guardar un archivo cargado desde un formulario web. El archivo se carga en una carpeta temporal, la secuencia de comandos crea un nombre de archivo y una ruta de acceso en función de otras variables del formulario web, y luego la secuencia de comandos utiliza el archivo move_uploaded_file () de PHP para mover el archivo temporal a la ubicación final. Todo eso funciona bien. En resumen, las personas están cargando archivos para que todos los miembros del grupo puedan verlos y los archivos estén organizados por el script.

Mi problema es que el archivo en la ubicación final tiene permisos impares. No está terminando con los permisos de la ubicación temporal o la ubicación final. Tanto la ubicación temporal como la ubicación final tienen los mismos permisos: derechos completos para el propietario y las administraciones; leer y leer / ejecutar para 2 grupos de seguridad de AD específicos. El archivo final termina con solo: derechos completos para el propietario y las administraciones. Entonces, mientras que los administradores y el cargador original no tienen problemas para ver el archivo, todos los demás en el grupo obtienen " permiso denegado " al intentar acceder a él.

¡Cualquier idea o sugerencia será muy apreciada! Gracias!

¿Fue útil?

Solución

Esto parece ser un problema con la función move_uploaded_file () :
http://us3.php.net/move_uploaded_file
Eche un vistazo a los comentarios a continuación, tome nota del comentario de Florian sobre la copia ().

¿Copiaría () resolvería el problema ?:
http://us3.php.net/manual/en/function.copy. php

Otros consejos

de la página php en move_uploaded_file (nb: esto funcionó para mí):

Para aquellos que usan PHP en Windows e IIS, DEBERÍAS configurar " upload_tmp_dir " el valor en php.ini a algún directorio alrededor del directorio de su sitio web, cree ese directorio y luego establezca los mismos permisos que ha establecido para su directorio de sitios web. De lo contrario, cuando carga un archivo y entra en C: \ WINDOWS \ Temp, luego lo mueve al directorio de su sitio web, sus permisos NO se configurarán correctamente. Esto le causará problemas si luego desea manipular ese archivo con algo como la utilidad de conversión de ImageMagick.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top