phpbar.de logo

Mailinglisten-Archive

[php] AW: [php] AW: [php] define() und parse error

[php] AW: [php] AW: [php] define() und parse error

Klaus Schmidt ks_(at)_ksweb.de
Fri, 3 Nov 2000 13:00:04 +0100


#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