chmod via PHP tut nicht...
Toledo
- php
hallo ihr,
ich versuche in PHP mittels chmod() die rechte eines ordners auf 777 zu setzen um ihn in weiterer folge mittels rename() zu verschieben.
der sinn dahinter ist, dass user mit eigenem login fotos auf den server stellen können, welche nach entsprechendem eintrag in der datenbank und freigabe durch den admin in den öffentlichen bereich verschoben werden.
mein problem: der hochgeladene ordner lässt sich per PHP befehl nicht chmod´en. in FTP wäre das ändern der rechte kein problem, aber das muss doch auch per PHP funktionieren??
ratlose grüsse,
toledo
Hallo.
mein problem: der hochgeladene ordner lässt sich per PHP befehl nicht chmod´en. in FTP wäre das ändern der rechte kein problem, aber das muss doch auch per PHP funktionieren??
Wie lautet die Fehlermeldung? error_reporting E_ALL?
MfG, Kungschu.
Hi,
ich versuche in PHP mittels chmod() die rechte eines ordners auf 777 zu setzen um ihn in weiterer folge mittels rename() zu verschieben.
Wie sieht denn dein Code dazu aus? Wie soll man dir ohne diesen sagen, was du falsch machst?
Im Manual steht, dass man die Rechte Oktal (also mit 0 am Anfang) angeben soll, weil es sonst möglicherweise zu Fehlern kommt. Hast du das gemacht?
mfG,
steckl
CODE:
chmod("members/folders/".$member_id."/bilder/".$ordnername, 0777);
sämtliche folder sind auf 777, nur der manuell hochgeladene ($ordnername) ist auf 755. und das bleibt er auch dummerweise.
FEHLERMELDUNG:
Warning: chmod(): Operation not permitted in /home/www/web5/html/members/incs/fotoupload/step2.inc.php on line 61
Hi,
CODE:
chmod("members/folders/".$member_id."/bilder/".$ordnername, 0777);
sämtliche folder sind auf 777, nur der manuell hochgeladene ($ordnername) ist auf 755. und das bleibt er auch dummerweise.
Gehört der Ordner dem selben User, der auch von PHP benutzt wird?
Zumindest den Unix-Befehl chmod kann nur der Besitzer einer Datei und Root ausführen.
Siehe Link von vorhin:
"Anmerkung: Der aktuelle Benutzer ist der, unter dem PHP läuft. Das ist unter Umständen nicht der Benutzer, den Sie für normale Shell- oder FTP-Zugriffe benutzen."
mfG,
steckl
Gehört der Ordner dem selben User, der auch von PHP benutzt wird?
Zumindest den Unix-Befehl chmod kann nur der Besitzer einer Datei und Root ausführen.
tja, da haben wir das problem... das geht nicht wirklich, da es sich um mehrere verschiedene user handelt. aber egal, ich hab das mittlerweile anders gelöst (etwas unelegant, aber effektiv: wenn die user per FTP hochladen können, können sie ja auch gleich händisch auf 777 setzen - ist ein handgriff mehr)
danke jedenfalls :-)
Hi,
tja, da haben wir das problem... das geht nicht wirklich, da es sich um mehrere verschiedene user handelt. aber egal, ich hab das mittlerweile anders gelöst (etwas unelegant, aber effektiv: wenn die user per FTP hochladen können, können sie ja auch gleich händisch auf 777 setzen - ist ein handgriff mehr)
Alternativ wäre auch ftp_chmod() möglich.
Gruß, Cybaer
Hi,
Zumindest den Unix-Befehl chmod kann nur der Besitzer einer Datei und Root ausführen.
Nein, es kann ihn jeder ausführen, der die nötigen Schreibrechte besitzt.
Gruß, Cybaer
Hi,
Zumindest den Unix-Befehl chmod kann nur der Besitzer einer Datei und Root ausführen.
Nein, es kann ihn jeder ausführen, der die nötigen Schreibrechte besitzt.
Hast du das mal ausprobiert?
Ich kanns grad net testen, aber hier und hier steht was anderes. Ausserdem war ich mir auch relativ sicher.
mfG,
steckl
Hallo steckl.
Zumindest den Unix-Befehl chmod kann nur der Besitzer einer Datei und Root ausführen.
Nein, es kann ihn jeder ausführen, der die nötigen Schreibrechte besitzt.
Hast du das mal ausprobiert?
Ich kanns grad net testen, aber hier und hier steht was anderes. Ausserdem war ich mir auch relativ sicher.
Deine Quellen stimmen; nur der Besitzer einer Datei und root können die Zugriffsberechtigungen ändern.
Einen schönen Donnerstag noch.
Gruß, Mathias
Hallo nochmal.
Zumindest den Unix-Befehl chmod kann nur der Besitzer einer Datei und Root ausführen.
Nein, es kann ihn jeder ausführen, der die nötigen Schreibrechte besitzt.
Hast du das mal ausprobiert?
Ich kanns grad net testen, aber hier und hier steht was anderes. Ausserdem war ich mir auch relativ sicher.Deine Quellen stimmen; nur der Besitzer einer Datei und root können die Zugriffsberechtigungen ändern.
*grummel* Cybaer hat auch nichts Gegenteiliges behauptet; er schrieb nur, dass jeder das chmod-Kommando nutzen kann.
Einen schönen Donnerstag noch.
Gruß, Mathias
Hi,
Hast du das mal ausprobiert?
Mach ich ständig! Aber trotzdem ...
Ich kanns grad net testen, aber hier und hier steht was anderes. Ausserdem war ich mir auch relativ sicher.
... hatte ich Unrecht und Wikipedia Recht! :-o
Grund: Mein PHP-Basis-Bibliothek, die ich für alles verwende, hat keine Probleme damit, sowohl die Dateirechte bei Dateien des "PHP-Users", als auch die des FTP-Users zu ändern. Ggf. wird intern halt automatisch ftp_chmod benutzt! :-) Ich krieg das gar nicht mehr mit, warum es klappt, was ich machen möchte - es klappt halt. ;->
Und in meinem Alter wird es halt langsam schwierig, sich an all das zu erinnern, was man mal zur Arbeitserleichterung so alles programmiert hat ... =;-))
Gruß, Cybaer
Hallo Toledo.
ich versuche in PHP mittels chmod() die rechte eines ordners auf 777 zu setzen um ihn in weiterer folge mittels rename() zu verschieben.
Wenn du das vorhast, brauchst du aber Schreibrechte für das übergeordnete Verzeichnis. Dort wird das Umbennen schließlich vorgenommen.
mein problem: der hochgeladene ordner lässt sich per PHP befehl nicht chmod´en.
Bitte: „Die Rechte lassen sich nicht ändern.“
in FTP wäre das ändern der rechte kein problem,
Geht doch.
aber das muss doch auch per PHP funktionieren??
Muss nicht, da du als FTP-User sicher eine andere Nutzerkennung hast, als PHP, welches die Kennung des Apachen annimt.
Einen schönen Mittwoch noch.
Gruß, Mathias