Si estás trabajando en IIS, tu código PHP se lee sin inconvenientes, pero cuando empiezas a trabajar con ficheros y en los famosos uploader (para intentar copiar archivos de una PC al servidor) notarás que el proceso se realiza «exitosamente» sin embargo, la realidad es que no se copia el archivo al servidor.
El motivo por el que sucede esto, la carpeta de archivos temporales y tu directorio Inetpub. Lo que debes hacer es, desde el explorador de Windows dirigirte a la carpeta C:\Windows\ y darle clic secundario a la carpeta Temp posteriormente en la opción de «Propiedades -> Seguridad» y ahí deberás agregar dos nuevos usuarios: IUSR y IIS_IUSR .
Posteriormente te debes ir a tu directorio raiz donde tienes montado tu webserver (generalmente es wwwwroot) y realizar el mismo proceso
Ambos usuarios deberán quedar con todos los permisos «Acceso total» y listo. Ahora solo deberás reiniciar tu servicio de IIS y tu uploader comenzará a copiar archivos sin inconvenientes.
Fuente: https://www.quobit.mx/tutorial-configurar-permisos-777-en-directorios-de-un-servidor-con-iis.html