Mailinglisten-Archive |
#aber warum geht dann das auch nicht, anstatt isset wäre auch empty #möglich... isset($ptr=getenv('PATH_TRANSLATED')) darf nicht gehen, weil isset und empty Variable untersuchen $ptr=getenv('PATH_TRANSLATED') hat als Ausdruck aber den Wert der Zuweisung, stellt für isset() also keine Variable dar. Dazu muss klar sein, dass eine Variable ein Zeiger auf einen Wert, //$ptr=getenv('PATH_TRANSLATED')// aber ein Ausdruck ist und damit einen Wert repräsentiert. z.B. : echo $a=5 gibt '5' aus, greift aber hierfür nicht auf die Variable $a zu sondern auf das Ergebnis der Operation. Somit scheitert isset($a=5); im Parsing mit Parse error: parse error, expecting `')'' weil der Wert 5 nicht 'gesetzt' sein kann. # #define("CURRENT_BASE_PATH", # dirname( #isset($ptr = getenv('PATH_TRANSLATED'))?$ptr:getenv("SCRIPT_FILENAME") # ) #); # getenv('PATH_TRANSLATED') liefert ja schon 0 oder False, wenn PATH_TRANSLATED leer ist in so fern genügt if(getenv('PATH_TRANSLATED') dann ... sonst ... hinreichend 1) $ptr=getenv('PATH_TRANSLATED'); echo dirname($ptr?$ptr:getenv("SCRIPT_FILENAME")).'<br>';; 2) echo dirname($PATH_TRANSLATED ? $PATH_TRANSLATED : $SCRIPT_FILENAME).'<br>'; 3) echo getcwd().'<br>'; 1) bis 3) haben (fast) die gleichen Ausgabe: c:\usr\htdocs\ksweb #ich habe das jetzt so gelöst: # #define("CURRENT_BASE_PATH","http://".getenv("HTTP_HOST") #.dirname(isset($PATH_INFO) == true ? $PATH_INFO : $SCRIPT_NAME) #."/"); # #ganz wie du sagtest :-) ups? schieb mir nichts unter :-)) das Ding ist weder von mir noch läuft es ;-) die Zeile mit .dirinfo...) erzeugt hier nichts! was sollte es denn bringen? probier mal echo __FILE__; oder define("CURRENT_BASE_PATH",'http://'.$HTTP_HOST.$PATH_INFO); echo CURRENT_BASE_PATH.'<br>'; Klaus Schmidt *********************************************** *Don't trust in operators, not even your self!* ** PHP4 - Tutorial und Referenz:www.ksweb.de ** ***********************************************
php::bar PHP Wiki - Listenarchive