PHP-Problem mit unlink
fatmike182 22.09.2009 - 17:24 999 3
fatmike182
Agnotologe
|
Hallo, ich möchte einen Ordner mit Unlink ausleeren, der Pfad sollte passen (schließlich findet er ja auch Dateien, die ich löschen möchte) aber bekomme die Fehlermeldung Warning: unlink() [function.unlink]: open_basedir restriction in effect. File(/.) is not within the allowed path(s): (/var/www/web1060/:/tmp:/var/www/web1060:/tmp/:/usr/local/php4-cgi/lib/php/) in /var/www/web1060/html/admin/pictures.php on line 18
Warning: unlink() [function.unlink]: open_basedir restriction in effect. File(/..) is not within the allowed path(s): (/var/www/web1060/:/tmp:/var/www/web1060:/tmp/:/usr/local/php4-cgi/lib/php/) in /var/www/web1060/html/admin/pictures.php on line 18
Warning: unlink(/Picture 2.png) [function.unlink]: No such file or directory in /var/www/web1060/html/admin/pictures.php on line 18
Warning: unlink(/Picture 3.png) [function.unlink]: No such file or directory in /var/www/web1060/html/admin/pictures.php on line 18
Was muss da geändert werden? Oder geht das wirklich so nicht? Das File das ausgeführt wird ist in einem 777-Ordner & die Files die ich löschen möchte auch.
|
COLOSSUS
AdministratorGNUltra
|
Steht doch eh da. Der PHP-Interpreter fuehlt sich durch den Konfigurationswert "open_basedir" insofern eingeschraenkt, als dass das Verzeichnis, in dem das zu loeschende File liegt, nicht begruschelt werden darf. Vermutliche Loesung: Das fragliche Verzeichnis in die Liste der begruschelbaren Verzeichnisse aufnehmen, dann nochmal probieren.
Edith meint: hm. mir scheint, du uebergibst unlink() da einen asboluten Pfad, anstatt eines relativen. Dann ist das CWD natuerlich egal, und da es das File /wasauchimmer.png ziemlich sicher nicht gibt, kriegst du diesen Fehler. Lass mal den leading slash weg, oder, noch besser: unlinke den absoluten Pfad, der das File identifiziert.
|
fatmike182
Agnotologe
|
sry -- teilweise hab ich da eine Ordner-Variable übersehen, die absolut keinen Sinn ergeben hat. trotzdem Danke! mit if (($pics_in_thumbs!=".") && ($pics_in_thumbs!=".."))
hab ich dann noch die anderen Fehlermeldungen wegbekommen. Jetzt wird gelöscht! Was ist die intelligenteste Variante am "." bzw ".." vorbei zu kommen? Isfile?
|
jives
And the science gets done
|
Dein If-Konstrukt ist schon ok. Das wird normalerweise immer so (oder ähnlich) gehandhabt.
|