PHP 4 на практике

       

Стандартные переменные


В РНР поддерживается ряд стандартных переменных, предоставляющих в распоряжение программиста довольно подробную информацию о внутренней

конфигурации. Значения одних переменных задаются РНР, другие изменяются в

зависимости от операционной системы и web-сервера, с которыми работает РНР.

Вместо подробного описания всех стандартных переменных я выделю лишь те переменные и функции, которые используются на практике многими программистами.

Чтобы получить полный список переменных web-сервера, окружения и РНР, определенных для вашей конфигурации системы, достаточно выполнить следующий фрагмент:

while (list($var,$value) = each($GLOBALS)) :

echo "<BR>$var => $value";

endwhile;

В результате выводится список наподобие приведенного ниже. Потратьте немного времени на просмотр полученных данных, а затем разберите приведенные примеры.

GLOBALS =>

HTTP_GET_VARS => Array

HTTP_COOKIE_VARS => Array

HOSTSIZE => 1000



HOSTNAME => server1.apress.com

LOGNAME => unstrung

HISTFILESIZE => 1000

REMOTEHOST => apress.com

MAIL -> /var/spool/mail/apress

MACHTYPE => 1386

TERM => vt100

HOSTTYPE => i386-linux

PATH =>

/usr/sbin:/sbin:/usr/local /bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/Java/bin

HOME => /root

INPUTRC => /etc/inputrc

SHELL => /bin/csh

USER => nobody

VENDOR => intel

GROUP => root

HOST => server1.apress.com

OSTYPE => linux

PWD => /www/bin

SHLVL => 3_ => /www/bin/httpd

DOCUMENT_ROOT => /usr/local/apress/site.apress

HTTP_ACCEPT => */*

HTTP_ACCEPT_ENCODING => gzip, deflate

HTTP_ACCEPT_LANGUAGE => it.en-us;q=0.5

HTTP_CONNECTION -> Keep-Alive

HTTP_HOST => www.apress.com

HTTP_USER_AGENT => Mozilla/4.0 (compatible; MSIE 5.0: Windows 98;

CNETHomeBuild051099)

REMOTE_ADOR => 127.0.0.1

REMQTE_PORT => 3207

SCRIPT_FILENAME => /usr/local/apress/site.apress/j/environment_vars.php

SERVER_ADDR => 127.0.0.1


SERVER_AOMIN => admin@apress.com

SERVER_NAME => www.apress.com

SERVERJORT => 80

SERVER SIGNATURE =>

Apache/1.3.12 Server at www.apress.com Port 80

SERVER_SOFTWARE => Apache/1.3.12 (Unix) PHP/4.0.1

GATEWAY_INTERFACE => CGI/1.1

SERVER_PROTOCOL => HTTP/1.1

REQUEST_METHOD => GET

QUERY_STRING =>

REQUEST_URI => /j/environment_vars.php

SCRIPT_NAME => /j/environment_vars.php

PATH_TRANSLAETD => /usr/local/apress/site.apress/j/environment_vars.php

PHP_SELF => /j/environment_vars.php

argv => Array

argc => 0

var => argc

value => argc

Как видите, стандартные переменные содержат разнообразные сведения — как полезные, так и не очень. Вы можете вывести любую из этих переменных по имени. Например, следующая команда выводит IP-адрес пользователя:

print "Hi! Your IP address is: $REMOTE_ADDR";

IP-адрес выводится в числовой форме (например, 208.247.106.187).

Кроме того, стандартные переменные могут использоваться для сбора информации о браузере и операционной системе пользователя. Команда

print "Your browser is: $HTTP_USER_AGENT";

возвращает информацию следующего вида:

Your browser is: Mozina/4.0 (compatible: MSIE 5.0; Windows 98: CNETHomeBuild051099)

Информация о браузере и операционной системе, в которой он работает, может пригодиться при построении страниц, рассчитанных на специфические форматы конкретных браузеров.

Для работы с массивами стандартных переменных необходимо включить директиву track_vars в файл php.ini. В РНР версии 4.0.3 директива track_vars включена постоянно.


Содержание раздела