Datei-Upload unter IIS in Verbindung mit PHP

Nach den ersten Gehversuchen mit TYPOlight unter Windows läuft das System nun stabil und flott (mit ein paar Einschränkungen). Nach dem der Kundenbereich erstellt wurde, sollte auch eine Uploadmöglichkeit her. Also schnell ein Formular mit Upload-Möglichkeit angelegt und getestet. Theoretisch funktioniert, aber nicht so wirklich. Im Uploadordner landen merkwürdigerweise nur 0kB große Dateien.

Zugriffsberechtigungen überprüft, stimmt alles, also blieb nichts anderes übrig, als zu googln. Der erste Hinweis kam, dass in der PHP.ini ein Temp-Ordner für Uploads definiert ist, auf den der IIS-Benutzer aber keine Schreibrechte hat (c:\Windows\Temp). Also in der PHP.ini den Ordner auf c:\Upload-Temp geändert und dem IIS-Benutzer auf diesen Ordner volle Rechte vergeben. Zwecklos. Es landen weiterhin 0kB Dateien im Zierordner. Auch ein Neustart brachte keine Besserung.

Nach mehreren Stunden Recherche im Internet kam der entscheidende Hinweis, dass der Temp Ordner unbedingt innerhalb des Root-Verzeichnisses der aufrufenden Homepage liegen muss, sonst kann IIS in Verbindung mit PHP keine temporären Daten in diesen schreiben.

Die Änderung der PHP.ini-Datei führte nun zum gewünschten Ergebnis. Der Upload funktioniert nun einwandfrei.