mkdir() funktioniert nicht auf IIS

nchristoph

Erfahrenes Mitglied
Hallo zusammen,

ich hab mein Uploadscript fast fertig allerdings krieg ich immer Permission Denied wenn ich mkdir() verwenden will.

Ich verwende für den Liveeinsatz IIS 7.0 und SBS 2008.

Ich habe jetzt dem Benutzer ISS_IURS Vollzugriff gegeben, hat aber auch nichts geändert. IIS hab ich neugestartet.

Muss ich bei IIS mkdir() anders verwenden als beim Apache oder liegt es einfach an den Rechten?

Hier meine mkdir Abfrage:

PHP:
$pfad = ("./Masslisten/".$holzart."/".$klasse."/".$trocken."/".$starke."/");
$pfad1 = ($pfad."/".$partie.".pdf");

if (isset($_FILES['massliste']) and ! $_FILES['massliste']['error']) {
	if(!is_dir($pfad)){
	mkdir($pfad,0, 0777);
	}
    // Alternativ:            and   $_FILES['probe']['size']
   move_uploaded_file($_FILES['massliste']['tmp_name'], $pfad1);
}

Sollte dies in ein anderes Forum gehören, bitte ein Mod dorthin verschieben.

mfg
 
Nachdem was hier steht, liegt es an den Userrechten.

Oder wenn ich das hier richtig vertanden habe, könnte es auch klappen wenn man keine relative sondern absolute Pfandangaben verwendet.
 
Tja die Userrechte hab ich schon auf Vollzugriff gesetzt, bei allen.

Auch absolute und relative Pfadangaben hab ich auch schon versucht.
 
Ok, nächster Versuch, lies das hier mal. Vielleicht ist das ja eine Alternative für dich die dann hoffentlich auch funktioniert.
 
So hab das jetzt getestet, krieg aber nach wie vor Permissiondenied.

Frage zum IIS: muss ich nur den IIS neustarten oder den ganzen Serverrechner.
 
http://www.coder-board.de/2882-wie-legt-man-ein-verzeichnis-mit-php-an-mkdir-alternative-unter-dem-richtigen-user-safemode-problem-erklaerung-und-funktion.html

Was is das denn für ne geniale Lösung ...
Wenn der Provider schon SafeMode aktiviert hat sind in der Regel auch alle Socket- und FTP-Funktionen und -Klassen blockiert ... das heißt die Methode würde auch fehlschlagen ...
Und das soll ne perfekte Lösung sein ? Da hat der Autor aber ganz schön gepennt.
 
Welche Rechte hat der/haben die übergeordneten Ordner und was passiert wenn du den zweiten Parameter "0" bei mkdir weg lässt?
 
Die Ordner haben VOLLZUGRIFF auf allen Benutzern, und es sind bei beiden Ordnern die gleichen Benutzer.

Es ändert nichts, ob ich die 0 weglasse oder nicht.

Wäre es ne möglichkeit, das ich der Datei seperat noch mal 777 gebe?

Ich benenne die Datei ja auch um, könnte es daran liegen?
 
Ich hab jetzt das Script nomma neu geschrieben, allerdings hab ich jetzt einen komischen Fehler:

T_CONSTANT_ENCAPSED_STRING in line 18

Ich finde keine falsch abgeschlossene Zeile.

PHP:
$pfad = ("/Masslisten/".$holzart."/".$klasse."/".$trocken."/".$starke."/");
$pfad1 = ("/Masslisten/".$holzart."/".$klasse."/".$trocken."/".$starke."/".$partie.".pdf");

$pfad1 wäre Zeile 18.
 
Also wenn man nur diese 2 Zeilen nimmt, dann kommt der Fehler auch nicht. Stimmt also weiter vorne schon was nicht.
 
Zurück