• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

move_uploaded_file Besitzer ausschlaggebend?

Time-Over

New member
Guten Abend,
ich möchte ein Upload-System schreiben, dass dem Nutzer erlaubt Dateien in einer selbst definierten Ordnerstruktur hochzuladen. Dabei werden zuerst die Ordner, fall noch nicht vorhanden, erstellt und dann per chmod auf '777' gesetzt. Jedoch gibt move_uploaded_file false zurück, falls ordner erstellt werden müssen, und gibt keine Warnmeldung aus (E_ALL). Wenn ich jedoch per ftp einen ordner mit '777' erstelle und in diesen eine file hochlade funktioniert das. Kann es sein, dass der Besitzer des Ordners ausschlaggebend ist? Und wie kann ich das Problem lösen?

mfg

Time-Over
 
oO, das klingt gar nicht gut was du da machst... warum muss der Ordner denn 777 als Berechtigung haben? ansonsten musst du natürlich noch darauf achten, dass der Nutzer (ich vermute dein www-data) in dem Ordner indem der Ordner erstellt wird Schreibrechte hat

generell halte ich es aber für keine gute Idee Ordner anzulegen, aber du wirst schon deine Gründe haben :)
 
Diese Funktion ist nur für Administratoren zugänglich...und ich dachte man braucht 777 Rechte um über move_uploaded_file eine Datei zu verschieben. Oder irre ich mich da?

mfg

Time-Over
 
777 heißt dass jeder nutzer ALLE Rechte hat, du brauchst aber nur eingeschränkte!

Denke 755 reicht bei dir
 
Okay, aber ist es möglich die Berechtigungen von wwwrun anzupassen? Weil es wird nichtmal in ein 777 Verzeichnis mit dem Besitzer wwwrun eine Datei erstellt... Geht das irgendwie über den ftp-clienten? Ansonsten habe ich noch Parallels Plesk Panel von dem Anbieter zu Verfügung, allerdings habe ich keine Möglichkeit(auch nicht in der Hilfe oder mit google) gefunden benutzer einstellungen zu ändern.

mfg

Time-Over
 
Den full Ordner habe ich via ftp mit meinem user erstellt. dorthinein kann ich files mit move_uploaded_file verschieben. Der ordner images wurde mittels php erstellt und da gibt move_uploaded_file einfach nur false zurück...ohne warnmeldung oder sonst was.
jjc6romb.png


mfg

Time-Over
 
kleiner tipp wenn man fehler sehen will:
error_reporting anschalten
dann landen die entweder im browser oder im error log
 
Schau' dir doch mal deine phpinfo() an... ev. werden die Fehler nicht angezeigt (display_errors) oder irgendetwas anders ist da falsch... Auch ein Blick in die php-errors.log kann ev. helfen.
 
oha da steht display_errors Off...aber ich hab eig keine möglichkeit diese werte zu verändern...wie kann ich trotzdem die fehler anschauen?

mfg

Time-Over
 
... oder in der .htaccess wenn PHP als Modul läuft oder in einer php.ini in deinem Laufverzeichnis - aber ob und wie das funktioniert liegt hauptsächlich an dem Server/Provider.
 
ahja jetzt kommen wir der Sache schon näher...
Code:
Warning: move_uploaded_file(): SAFE MODE Restriction in effect. The script whose uid is 10110 is not allowed to access [Directory] owned by uid 30 in [php_file] on line 280

okey...ich google mal, oder hat jemand ne konkrete Lösung(geht das überhaupt xD)?

mfg

Time-Over
 
du must die Konfigurationsdateien ändern. Wenn du keinen zugriff auf den Server hast, dann musst du wohl oder übel jemanden beauftragen.
 
Zurück
Oben