PHP, lokale Dateien und Berechtigungen

J

jbay

Mitglied
Thread Starter
Dabei seit
01.11.2005
Beiträge
43
Reaktionspunkte
0
Einen schönen Nachmittag aus der Schweiz wünsch ich,

ich hab zurzeit ein kleineres Problem, wo ich irgendwie nicht weiter weiss.
Ziel ist es mit einem kleinen PHP-Script automatisch Bilder per ftp auf unseren externen Server heraufzuladen.
Ich hab dazu auch eine kleine Klasse geschrieben, die an sich läuft.

Jetzt dass Problem. Wenn ich ein Bild von einer lokalen Festplatte hochladen will geht das problemlos.
Das Problem ergibt sich, wenn ich eine Datei hochladen will, die auf einem per afp gemounteten Volume liegt. Ich bekomme einen netten "Permission denied"-Hinweis.
Das Volume ist total freigegeben, sprich alle haben Lese&Schreibrecht. Ich habe auch mal ein chmod 777 auf die Datei ausgeführt, ändert aber nix dran.
Ich vermute, dass es irgendwie damit zu tun hat, dass ich das Volume mit einem Benutzernamen mounte und mein lokaler Webserver dann das Volume nicht wirklich gebrauchen kann.
Bin ich da auf der richtigen Fährte und/oder hat jemand vielleicht eine Lösung parat?

Vielen Dank und viele Grüsse,

jonas
 
Hallo Zusammen,

hab zwar nicht das selbe Problem wie Jonas, allerdings fand ich den Threadname auch für meins passend.

Ich bin php-Neuling und habe in meinem ersten Projekt zum Datei-Upload über den Browser eingebaut um zu Texten Bilder hinzufügen zu können.

Dafür lege ich für jeden Text einen lokalen Ordner an (per 'mkdir(pfad, 0777)')in welchem die zughörigen Bilder gespeichert werden. Klappt auch super.

Jetzt habe ich die Anwendung erweitert so dass in diesem Ordner ein weiterer Ordner erzeugt wird in dem Thumbnails gespeichert werden sollen. Wenn ich jetzt über die Funktion 'imageJPEG()' ein Thumbnail in diesen Unterordner speichern will bekomme ich folgende Fehlermeldung

Code:
Warning: imagejpeg() [function.imagejpeg]: Unable to open '../pics/alb_29/thumbs_29' for writing:
 Permission denied in H:\xampplite\htdocs\blog\admin\inc\admin_functions.php on line 81

Woran könnte es leigen dass ich auf diesen Ordner zu dem Zeitpumkt keine Schreibberechtigung habe, geöffnet sollte er eigentlich nciht sein.


mfg|wusa
 
Hört sich merkwürdig an. Ich habe nur 2 Ansatzpunkte deren Qualität zumindest fragwürdig ist. :)

1) Offensichtlich nutzt Du ein Windows-System? Ich hatte vor einigen Jahren mal die Erfahrung gemacht dass es unter Windows Probleme mit XAMPP und anderen Partitionen als C: geben kann. Bei mir lag XAMPP aber auf C: während ich versuchte auf eine andere Partition zuzugreifen.

2) Möglicherweise kommt Windows mit den Rechten nicht klar. 0777 steht ja für ein UNIX-Dateirecht was für Windows erst mal ein böhmisches Dorf ist. Die Kommentare zum Befehl chmod und dessen Kompatibilität mit Windows sind sehr unterschiedlich. Eine sagen es funktioniert, andere sagen es funktioniert nicht. Ich vermute dass es auch mit dem verwendeten Dateisystem zusammenhängt. NTFS oder FAT?! Vielleicht ist auch noch die Windows-Version ausschlaggebend. Die Rechteverwaltung unter XP Home ist ja z.B. ganz anders als unter XP Prof. Vlt. interessant:
It does work on Windows.
I use Win 98 with the Sambar Server.
The only chmods allowed are the 775 and 666 mod. 775 for non-writeable and 666 for writeable. The only thing is that the usergroups doesn't work.
Note: the 0 at the start doesn't work with windows. use only the decimal kind.
Have fun :)
Von http://de3.php.net/manual/en/function.chmod.php#16395

Ein Versuch ist es Wert.
 
Ok erstmal danke,

ich werde heute abend auf meinem Mac testen aber, wenn es wirklich an Windows liegt verstehe ich nicht warum ich in einen den übergeordneten Ordner(ebenfalls mit chmod(0777) angelegt) Problemlos funktioniert?

Also an der vorangestelletn '0' lags schonmal nicht.


gruß|wusa
 
Auf jeden Fall geht es bei dir um zwei verschiedenen User. Den Ordner, den du händisch anlegst gehört deinem FTP- bzw, Account-User. Die Ordner, die du von einem PHP-Script anlegen lässt, gehören dem User, der in der httpd.conf eingetragen ist - www oder www-run o.ä. und der hat ganz andere Rechte. Kannst ja im FTP-Browser nachsehen, wie der heißt. Anders gesagt, wenn du die Ordner über PHP anlegst, unterscheiden sich deine Rechte nicht von denen eines Besuchers. Das sollte lokal auch nicht funktionieren, wenn dein User www heißt - erst wenn der User in der httpd.conf z.B. der User, ist mit dem du dich einloggst, aber Im Internet gibts sowas natürlich nicht.
 
Auf jeden Fall geht es bei dir um zwei verschiedenen User. Den Ordner, den du händisch anlegst gehört deinem FTP- bzw, Account-User. Die Ordner, die du von einem PHP-Script anlegen lässt, gehören dem User, der in der httpd.conf eingetragen ist - www oder www-run o.ä. und der hat ganz andere Rechte. Kannst ja im FTP-Browser nachsehen, wie der heißt. Anders gesagt, wenn du die Ordner über PHP anlegst, unterscheiden sich deine Rechte nicht von denen eines Besuchers. Das sollte lokal auch nicht funktionieren, wenn dein User www heißt - erst wenn der User in der httpd.conf z.B. der User, ist mit dem du dich einloggst, aber Im Internet gibts sowas natürlich nicht.

Nein ich glaube du hast mich falsch verstanden. Ich lege beide Ordner mittles PHP an. Erst einen 'Album'-Ordner in den ich auch ohne PRobleme Bilder per PHP hochladen kann. Dann in dem 'Album'-Ordner einen 'Thumbnail'-Ordner bi dem ich dann die Fehlermedlung bekomme.

gruß|wusa
 
Zurück
Oben Unten