Mailinglisten-Archive |
Sebastian Tobias Mendel genannt Mendelsohn wrote: > Christian Vosen wrote: > >> Warning: is_dir() [function.is-dir]: open_basedir restriction in effect. >> File(..) is not within the allowed path(s): (/www/htdocs/v09xxxx/) in >> /www/htdocs/v09xxxx/gallerie.php on line 84 >> >> Das Skript selbst an dieser Stelle sieht so aus: >> >> if (empty($_REQUEST['sr'])) >> { >> $gal = dir("./g_bilder"); >> $nr = 0; >> while($eintrag = $gal->read()) >> { >> if ((!is_dir($eintrag)) && ($eintrag!=".") && ($eintrag!="..") && >> ($eintrag!="admin") && ($eintrag!="gallery.opt")) // das ist zeile 84 >> { >> $gallery_verzeichnis[$nr]=$eintrag; >> $nr+=1; >> } >> } >> sort($gallery_verzeichnis); > > > > du darfst nur auf Dateien/Verezichnisse unterhalb von > "/www/htdocs/v09xxxx/" zugreifen, da du dich bereits in > "/www/htdocs/v09xxxx/" befindest wäre das Verzeichnis ".." eine Stufe > höher, deshalb der Fehler > > da du aber eh das Verzeichnisse ".." nicht haben willst musst due bloß > die Überprüfungen in deiner IF-Bedingung umsortieren > > da deine IF-Bedingungen durch && verknüpft bricht PHP eh ab so bald eine > Bedingung nicht erfüllt ist, also nimmst du die Überprüfung nach ".." > einfach nach vorne! > > (normalerweiße würde man die Bedingung nach vorne nehmen welche am > wahrscheinlichsten ist das sie zutrifft - sparrt Zeit) > > if ( $eintrag != "." > && $eintrag != ".." > && ! is_dir($eintrag) > && $eintrag != "admin" > && $eintrag != "gallery.opt" ) > { > ... > } > > oder (viel schönsten): > > $notwanted = array('.', '..', 'gallery.opt', 'admin'); > > if ( ! in_array($eintrag, $notwanted) && ! is_dir($eintrag) ) > { > ... > } > achso, vergessen zu sagen, der genaue Code der den Fehler verursacht ist das is_dir(), deshalb muss das auch verschoben werden -- Sebastian Mendel (www.sebastianmendel.de) *www.warzonez.de* | www.tekkno4u.de | www.nofetish.com
php::bar PHP Wiki - Listenarchive