WordPress uploads and their permission on Windows Server


After default installation of WordPress on Windows Server, the administrator is usually confronted by an error which happens after the user is uploading an image:

This is caused by insufficient rights of the file.


Reason for this behavior is some PHP process, where the upload is first stored in c:\Windows\Temp and afterwards the file is moved to the target ‚wp-content‘ folder. By movement, the file privileges are not updated.


To fix the issue, the upload folder needs to be changed to a folder, where IIS_IUSRS has read and write-access to the contained files.

This can be done by change the PHP.ini variable (http://php.net/manual/de/ini.core.php#ini.upload-tmp-dir) and setting the file privileges:

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
; http://php.net/upload-tmp-dir
upload_tmp_dir = C:\inetpub\temp\PHP

See also: https://stackoverflow.com/questions/23851821/setting-file-permissions-in-windows-with-php