"We are back" « oc.at

PHP-Problem mit unlink

fatmike182 22.09.2009 - 17:24 999 3
Posts

fatmike182

Agnotologe
Registered: Oct 2005
Location: VIE
Posts: 4223
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
Code:
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

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12122
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
Registered: Oct 2005
Location: VIE
Posts: 4223
sry -- teilweise hab ich da eine Ordner-Variable übersehen, die absolut keinen Sinn ergeben hat. trotzdem Danke!

mit
Code: PHP
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
Avatar
Registered: Sep 2001
Location: Baden
Posts: 3548
Dein If-Konstrukt ist schon ok. Das wird normalerweise immer so (oder ähnlich) gehandhabt.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz