Verzeichnis erstellen mkdir()

Anubia

Mitglied
Hallo,
ich habe ein Problem mit mkdir()
ich kann ein Verzeichnis max. bis zur 2. Verzeichnis-Ebene erstellen.
Ab der 3. Ebene funktioniert es nicht mehr hat jemand eine Idee?

Also das funktioniert:
mkdir ('../Ebene1/Ebene2',0755);

und das nicht
mkdir ('../Ebene1/Ebene2/Ebene3',0755);


Kann mir jemand helfen?

Grüße
 
Hi,

kann eigentlich nur daran liegen, daß die Rechtezuweisung nicht stimmt.
Ich gehe mal davon aus, daß die Ebene1 die Rechte 777 besitzt, weshalb du die Ebene2 problemlos schreiben kannst. Bei 755 geht das nicht. Also gibst du Ebene2 gleich beim Erstellen die vollen Rechte oder, wenn das nicht sein soll, änderst du die Rechte auf 777, erstellst die Ebene3 und stellst die Ebene2 wieder zurück auf 755.
 
Alle Verzeichnisse besitzen die Rechte 777. Aber leider klappt es nicht.
Eigentlich unmöglich. Kann mir das ehrlich gesagt auch nicht erklären.
 
Alle Verzeichnisse besitzen die Rechte 777.

Bist du dir da sicher? Nach den Auszügen im ersten Posting vergibst du 755. Ich habe gerade auf unserem Server dieses Script getestet und es geht einwandfrei.
PHP:
mkdir("../galerie/galerie1", 0777);
mkdir("../galerie/galerie1/galerie2", 0777);
mkdir("../galerie/galerie1/galerie2/galerie3", 0777);
 
Ja die Rechtevergabe stimmt. Wenn ich die Datei in den html/root lege dann funktioniert es auch.
Das hatte ich bis jetzt auch noch nie.
 
Setz das hier mal vor den mkdir Befehl. Kann dir später beim Löschen und Umbenennen viel Ärger ersparen.
PHP:
umask(0000);
Es könnte nämlich auch noch an den verschiedenen Gruppen und Besitzern liegen. Vom Script erzeugte Verzeichnisse haben nämlich meistens "apache" als Gruppe und Besitzer eingetragen, im Gegensatz zu vom FTP Programm erzeugten Ordner. Allerdings erst ab dem ZWEITEN vom Script erzeugten Verzeichnis. Das erste ist noch problemlos zu bearbeiten.
Eine Problemstelle in dem Zusammenhang könnte auch sein, daß bei der Domain der PHP Safe-Mode aktiviert ist.
 
Zurück