Problem bei Rechte Vergabe mit PHP, bzw. dem Anlegen von Ordnern

Yatho

Grünschnabel
Hallo da draussen,

ich versuche einen Datei-Upload zu programmieren, bei dem zuerst Ordner angelegt werden, dann die Datein in die Ordner geladen werden. Der Einfachheit halber mache ich das auch mit 2 Masken (1. Ordner anlegen / 2. Datei in Ordner laden).

Ich bin zuerst folgendermassen an die Sache rangegangen; ich habe mit mkdir() einen Ordner erzeugt und diesen gleich mit chmod() auf 0777 geändert.
PHP:
mkdir($derpfad.$name, 0777);
chmod($derpfad.$name, 0777);
Leider war kein Upload möglich, da mir der angelegte Ordner nicht gehört und Safemode da keinen Spass kennt... ;)

Nun habe ich mir gedacht: ftp_mkdir() ist die Lösung.
Das hat auch soweit geklappt, der Ordner wurde angelegt und gehört mir.
PHP:
ftp_mkdir($conn_id,$name);
ftp_close($conn_id); 
chmod($derpfad.$name, 0777);
ABER - ich kann ihn mit chmod() nicht mehr auf 0777 ändern?!
Da sagt der "chmod failed: Operation not permitted" - dabei ging das doch eben noch?!

Ich habe mich weiter umgeschaut und ftp_chmod() gefunden.
ABER - das geht erst ab PHP5. Und das ist auf der Kiste nicht installiert...

Nun frage ich mich, wie kann ich dieses Problem lösen?!

Ich hoffe eine von euch weiss da eine Lösung, die er/sie mir mitteilen möchte?!

Grüße,
 
...zur Vervollständigung, ich wurde anderweitig gefragt, was ich für Rechte auf dem Server hätte, vielleicht könne ich den Eigentümer ändern...

Der User ist ein einfacher Webaccount unter Confixx.

Soweit ich weiß kann man CHOWN nur als root benutzen; und es geht nur "per Hand".

Die Änderung von Egentümern ist AFAIK mit PHP garnicht möglich, da Savemode ja einen Vergleich der UID vornimmt und es wenig Sinn (aus Sicherheitssicht) machen würde, wenn ich dieses Abfrage mit einer Zeile Programmcode austricksen könnte.

Und selbst wenn ich root währe - mein Progrämmchen könnte ich mir dann sparen, wenn ich nach jedem Ordner, den ich anlege wieder "per Hand" den Owner ändern müsste. Da könnte ich gleich bei LeechFTP bleiben für den Upload.
Es soll aber über den Browser gehen und ich möchte nicht jedem meine FTP-Userdaten geben, damit er/sie Files auf meine Kiste laden kann. (Und womöglich noch mehr macht.)

Was mir nicht einleuchtet, ist das ich nach einem mkdir() den chmod() Befehl ausführen kann, aber das es nach einem ftp_mkdir() nicht geht.

Hat da jemand eine Erklärung oder einen Lösung?!
 
Es muss doch eine Lösung geben, für mein Problem?!

Wie macht ihr das - Ordner anlegen und dann die Recht so ändern, das man auch Files hinein laden kann?
 
Zurück