Problem bei setzen Rechten via PHP script !
Felix Tilch
- php
Hi,
leider bin ich nicht so erfahren in Php, habe mir jedoch eine gallreyscript herruntergeladen.
Dieses Script will nun beim Onlineupload, in meinem Webverzeichniss, Order anlegen mit den Rechten 777. Leider gelingt dieses nicht, obwohl die Rechte des Überordners auf 777 stehen und im Phpscript angeben ist, dass die neuen Ordner auch die Rechte 777 bekommen.
Die Ornder werden zwar angelgt, aber nur OHNE Schreibrechte.
if (isset($write_desc)) {
if (@mkdir("$img_folder/$gal_nr", 0777)) {
// Datum
$year = date( "Y");
$n = date( "d");
$month = date( "m");
##########
Naja danke schon mal für eure Mühen,
Gruss Felix
hi,
Die Ornder werden zwar angelgt, aber nur OHNE Schreibrechte.
ob es dabei irgendwelche fehlermeldungen gibt, scheint dich aber wenig zu interessieren, denn
if (@mkdir("$img_folder/$gal_nr", 0777)) {
durch das @ vor dem funktionsaufruf unterdrückst du diese ja explizit.
gruss,
wahsaga
Warning: move_uploaded_file() [function.move-uploaded-file]: SAFE MODE Restriction in effect. The script whose uid is 31925 is not allowed to access /home/www/htdocs/******.de/******/members/bilder/images/4 owned by uid 30 in /****/www/htdocs/********.de/*******/members/bilder/admin/gallery_admin.php on line 342
Mh, er schreibt halt nur das keine Berechtigung hat, aber das wußte ich ja schon vorher ;) !
weiß keiner einen rat. Kann es sein das mein Server ( Webspaceanbiert) es nicht erlaubt via Php ornder mit den Rechten 777 anzulegen ???
gruss,
felix
hi,
Mh, er schreibt halt nur das keine Berechtigung hat, aber das wußte ich ja schon vorher ;) !
die von dir gepostete meldung bezieht sich aber auf den befehl move_uploaded_file(), nicht auf mkdir().
gruss,
wahsaga
Ja das stimmt, aber auch ohne das @ kommte keine brauchbare Fehlermeldung :( .
Hello,
Mh, er schreibt halt nur das keine Berechtigung hat, aber das wußte ich ja schon vorher ;)
Du meinstest das zu wissen. Es handelt sich um zwei verschiedene Rechtesysteme. Das lässt sich auch nicht in einem Satz erklären.
weiß keiner einen rat. Kann es sein das mein Server ( Webspaceanbiert) es nicht erlaubt via Php ornder mit den Rechten 777 anzulegen ???
Hat der Proviferserver Dir denn überhaupt erlaubt, ein Directory anzulegen?
Du brauchst:
http://de.php.net/manual/de/function.mkdir.php
http://de.php.net/manual/de/function.umask.php
http://de.php.net/manual/de/function.chmod.php
http://de.php.net/operators.errorcontrol
davon $php_errormsg und track_errors
[http://de.php.net/manual/de/ref.errorfunc.php#ini.track-errors]
http://de3.php.net/error_reporting
http://de3.php.net/ini_get
http://de2.php.net/ini_set
Und die Information, dass mkdir() wahrscheinlich die eingestellte umask() achtet.
Und hier der Fahrplan, wie Du vorgehst:
1. Alle von mir referenzierten Seiten runterladen bzw. mit User
Contributed Notes ausdrucken, heften, ...
2. Ein Testscript schreiben, dass dir Auskunft über die ini-Einstellung
- track_erros
- Errorlevel mit error_reporting()
- umask mit umask()
gibt und den Inhalt von $php_errormsg ausgibt.
3. Das gleiche nochmal, machdem
<?php
ini_set("track_errors",1);
error_reporting(E_ALL);
$umask = umask(0000); # Umask arbeitet genau komplementär zu
# chmod(), beide Funktioonen/Werte
# ergeben zusmamen die verfügbaren Rechte
# ...
# ... hier Deine Verzeichnisoperationen
echo $php_errormsg;
?>
Und dann kannst Du nach dem mkdir() immer noch chmod() und chgrp()
verwenden. Schau Dir an, wer der Eigentümer des Files geworden ist und
welche Gruppen darauf zugreifen dürfen.
Anschließend kannst Du dich in den safe_mode von PHP reinlesen. Dazu googlest Du einfach mal und liest Dir
[http://de.php.net/features.safe-mode] durch.
300 Euro bitte *gg*
Liebe Grüße aus http://www.braunschweig.de
Tom
Hello,
Hello,
Mh, er schreibt halt nur das keine Berechtigung hat, aber das wußte ich ja schon vorher ;)
Du meinstest das zu wissen. Es handelt sich um zwei verschiedene Rechtesysteme. Das lässt sich auch nicht in einem Satz erklären.
weiß keiner einen rat. Kann es sein das mein Server ( Webspaceanbiert) es nicht erlaubt via Php ornder mit den Rechten 777 anzulegen ???
Hat der Providerserver Dir denn überhaupt erlaubt, ein Directory anzulegen?
Du brauchst:
http://de.php.net/manual/de/function.mkdir.php
http://de.php.net/manual/de/function.umask.php
http://de.php.net/manual/de/function.chmod.php
http://de.php.net/operators.errorcontrol
davon $php_errormsg und track_errors
http://de.php.net/manual/de/ref.errorfunc.php#ini.track-errors
http://de3.php.net/error_reporting
http://de3.php.net/ini_get
http://de2.php.net/ini_setUnd die Information, dass mkdir() wahrscheinlich die eingestellte umask() achtet.
Und hier der Fahrplan, wie Du vorgehst:
- Alle von mir referenzierten Seiten runterladen bzw. mit User
Contributed Notes ausdrucken, heften, ...- Ein Testscript schreiben, dass dir Auskunft über die ini-Einstellung
- track_erros
- Errorlevel mit error_reporting()
- umask mit umask()
gibt und den Inhalt von $php_errormsg ausgibt.- Das gleiche nochmal, machdem
<?php
ini_set("track_errors",1);
error_reporting(E_ALL);
$umask = umask(0000); # Umask arbeitet genau komplementär zu
# chmod(), beide Funktioonen/Werte
# ergeben zusmamen die verfügbaren Rechte
# ...
# ... hier Deine Verzeichnisoperationenecho $php_errormsg;
?>
Und dann kannst Du nach dem mkdir() immer noch chmod() und chgrp()
verwenden. Schau Dir an, wer der Eigentümer des Files geworden ist und
welche Gruppen darauf zugreifen dürfen.Anschließend kannst Du dich in den safe_mode von PHP reinlesen. Dazu googlest Du einfach mal und liest Dir
http://de.php.net/features.safe-mode durch.300 Euro bitte *gg*
Liebe Grüße aus http://www.braunschweig.de
Tom
Liebe Grüße aus http://www.braunschweig.de
Tom