verzeichnisstruktur mit php anlegen
heike
- php
hallo ihr lieben,
ich bräuchte etwas hilfe zu meinem skript:
//neue Ordner anlegen
$old_umask = umask(0);
mkdir ($path."/".$dir, 0777);
mkdir ($path."/".$dir."/folder1", 0777);
mkdir ($path."/".$dir."/folder2", 0777);
umask ($old_umask);
//Datendatei anlegen
$file = $path."/".$dir."/text.txt";
$data = fopen($file, "w+");
fclose($data);
@chmod($file, 0766);
so. das ganze funktioniert jetzt aber nur, wenn ich bis auf das erste mkdir alles auskommentiere. sobald ein zweites mkdir hinzukommt (oder ein fopen), erhalte ich folgende fehlermeldung:
Warning: mkdir(): SAFE MODE Restriction in effect. The script whose uid is 1276 is not allowed to access /home/www/... owned by uid 33 in /home/www/.../upload.php on line 370
also scheint mir das skript irgendwie eine zweite aktion zu sperren. weiß jemand wie ich das hier anders lösen kann? und was hat das mit SAVE MODE zu tun. auch gleich vorneweg, ich habe keine zugriffmöglichkeiten auf servereinstellungen...
freue mich über konstruktive ratschläge. schonmal danke :)
heike
Warning: mkdir(): SAFE MODE Restriction in effect. The script whose uid is 1276 is not allowed to access /home/www/... owned by uid 33 in /home/www/.../upload.php on line 370
also scheint mir das skript irgendwie eine zweite aktion zu sperren. weiß jemand wie ich das hier anders lösen kann? und was hat das mit SAVE MODE zu tun. auch gleich vorneweg, ich habe keine zugriffmöglichkeiten auf servereinstellungen...
Du hast es richtig erkannt...
Die Ursache lautet Safe_Mode on .
Und eigentlich kannst Du gar nichts machen.
Außer Dir einen anständigen Provider leisten der den Safe_Mode off hat.
Vielleicht hilft die Doku zu Safe_Mode hier weiter, ansonsten No Way!
http://selfhtml.bitworks.de/
ToMIRL
Du hast es richtig erkannt...
Die Ursache lautet Safe_Mode on .
Und eigentlich kannst Du gar nichts machen.
Außer Dir einen anständigen Provider leisten der den Safe_Mode off hat.
...hmm ist ein provider also anständig(er), wenn er SAFE_MODE auf off stehen hat?
Werde mein Problem dann jetzt wohl ohne die Unterordner umsetzen. Und die Textdatei erst später bei Bedarf schreiben und sie nicht schon im Voraus erzeugen. Irgendwie schade, de ich gerne etwas Struktur hineingebracht hätte. Tja, SAFE_MODE auf on scheint aber was dagegen zu haben.
lg heike
Du hast es richtig erkannt...
Die Ursache lautet Safe_Mode on .
Und eigentlich kannst Du gar nichts machen.
Außer Dir einen anständigen Provider leisten der den Safe_Mode off hat....hmm ist ein provider also anständig(er), wenn er SAFE_MODE auf off stehen hat?
Jaein, die meisten Provider sind nicht in der Lage den Safe Mode, der ja an sich nüzlich sein könnte, so zu konfigurieren, dass es nur nützliche Sicherheitsrelevante Einschränkungen gibt.
Wie bei Dir läuft PHP in der Regel unter einem falschen User.
Im Klartex heisst Dein Fehlermeldung nämlich der User 1276 darf zwar ein Verzeichniss anlegen, darf aber dieses weder schreiben noch lesen, obwohl es ja sein eignes Verzeichnis sein sollte.
Und das ist schon ein Zeichen von Unfähigkeit seitens des Providers.
Werde mein Problem dann jetzt wohl ohne die Unterordner umsetzen. Und die Textdatei erst später bei Bedarf schreiben und sie nicht schon im Voraus erzeugen. Irgendwie schade, de ich gerne etwas Struktur hineingebracht hätte. Tja, SAFE_MODE auf on scheint aber was dagegen zu haben.
Nein, Dein Provider ist offenbar nicht in der Lage den Server zu konfigurieren.
Viele Grüße TomIRL
lg heike
Was mir da noch einfällt,
Vielleicht schaffst Du es ja dem Verzeichnis den richtigen owner zu geben.
http://de.php.net/manual/de/function.chown.php
Der User müßte bei Dir 1276 sein.
Probiere es halt mal aus und berichte, wenns hilft könnte man Leute die nach so etwas fragen eine Lösung anbieten.
Viele Grüße TomIRL
Was mir da noch einfällt,
Vielleicht schaffst Du es ja dem Verzeichnis den richtigen owner zu geben.
...ich schau mal ob das was hilft.
melde mich dann.
danke für die guten ratschläge.
lg heike