Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > $_SERVER


Автор: Gold Dragon 26.12.2006, 09:22
Народ, подскажите что лучше использовать?

$_SERVER['HTTP_HOST'] или $_SERVER['SERVER_NAME']
$_SERVER['PHP_SELF'] или $_SERVER['SCRIPT_NAME']

просто вроде они выдают одно и тоже, а разницы я не знаю, документация мне что-то не помогла разобраться... smile

Автор: -=Ustas=- 26.12.2006, 11:29
Разница есть, $_SERVER['HTTP_HOST'] это содержимое из заголовков, из поля "Host:" , $_SERVER['SERVER_NAME'] это имя хоста сервера, или виртуального хоста на сервере.
Между SELF и SCRIPT_NAME честно скажу, разницы не вижу, но тем не менее почему то пользую PHP_SELF smile

Автор: Mal Hack 26.12.2006, 17:29
Цитата(-=Ustas=- @  26.12.2006,  11:29 Найти цитируемый пост)
Разница есть, $_SERVER['HTTP_HOST'] это содержимое из заголовков, из поля "Host:" , $_SERVER['SERVER_NAME'] это имя хоста сервера, или виртуального хоста на сервере.

Грубо говоря, если в настройках сервера ya.ru стоит ServerAlias ya.com, то HTTP_HOST будешь получать разные домены,  а в SERVER_NAME - ya.ru

Цитата(-=Ustas=- @  26.12.2006,  11:29 Найти цитируемый пост)
Между SELF и SCRIPT_NAME честно скажу, разницы не вижу, но тем не менее почему то пользую PHP_SELF smile 

Разница должна возникнуть в include'ах...

Автор: -=Ustas=- 26.12.2006, 18:40
Цитата(Mal Hack @  26.12.2006,  17:29 Найти цитируемый пост)
Разница должна возникнуть в include'ах... 

Попробовал, но разницы не увидел smile

Автор: Mal Hack 26.12.2006, 22:19
Цитата(-=Ustas=- @  26.12.2006,  18:40 Найти цитируемый пост)
Попробовал, но разницы не увидел smile 

Значит я с чем-то напутал

Автор: Gold Dragon 27.12.2006, 00:52
так.. из выше сказанного разници никакой smile

просто хочется знать при каких условиях значения будут различаться?

Автор: Mal Hack 27.12.2006, 01:18
Цитата
'SERVER_NAME'
The name of the server host under which the current script is executing. If the script is running on a virtual host, this will be the value defined for that virtual host. 

'HTTP_HOST'
Contents of the Host: header from the current request, if there is one. 


Цитата
'SCRIPT_NAME'
Contains the current script's path. This is useful for pages which need to point to themselves. The __FILE__ constant contains the full path and filename of the current (i.e. included) file. 


'PHP_SELF'
The filename of the currently executing script, relative to the document root. For instance, $_SERVER['PHP_SELF'] in a script at the address http://example.com/test.php/foo.bar would be /test.php/foo.bar. The __FILE__ constant contains the full path and filename of the current (i.e. included) file. 

If PHP is running as a command-line processor this variable contains the script name since PHP 4.3.0. Previously it was not available.

Автор: Gold Dragon 27.12.2006, 07:24
ну так что применять лучше для адреса? smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)