if (isset($_SERVER['SERVER_PORT']))
{
$port = ':' . $_SERVER['SERVER_PORT'];
if ((':80' == $port && 'http://' == $protocol) || (':443' == $port && ' https://' == $protocol))
{
$port = '';
}
}
其中
if ((':80' == $port && 'http://' == $protocol) ||
(':443' == $port && 'https://' == $protocol))
{
$port = '';
}
这段代码的意思作用是什么? 如果条件成立,为什么要把$port 设置为空?
整个函数的代码:
function get_domain()
{
/* 协议 */
$protocol = $this->http();
/* 域名或IP地址 */
if (isset($_SERVER['HTTP_X_FORWARDED_HOST']))
{
$host = $_SERVER['HTTP_X_FORWARDED_HOST'];
}
elseif (isset($_SERVER['HTTP_HOST']))
{
$host = $_SERVER['HTTP_HOST'];
}
else
{
/* 端口 */
if (isset($_SERVER['SERVER_PORT']))
{
$port = ':' . $_SERVER['SERVER_PORT'];
if ((':80' == $port && 'http://' == $protocol) || (':443' == $port && 'https://' == $protocol))
{
$port = '';
}
}
else
{
$port = '';
}
if (isset($_SERVER['SERVER_NAME']))
{
$host = $_SERVER['SERVER_NAME'] . $port;
}
elseif (isset($_SERVER['SERVER_ADDR']))
{
$host = $_SERVER['SERVER_ADDR'] . $port;
}
}
return $protocol . $host;
}
这段代码你没贴完吧, 完整的似乎是为了我获取当前域名的,如果host不存在的情况下,要port何用。。。