>  기사  >  백엔드 개발  >  php-ecshop获取端口的疑问

php-ecshop获取端口的疑问

WBOY
WBOY원래의
2016-06-02 11:33:46964검색

php

<code>   if (isset($_SERVER['SERVER_PORT']))            {                $port = ':' . $_SERVER['SERVER_PORT'];                if ((':80' == $port && 'http://' == $protocol) || (':443' == $port && '                          https://' == $protocol))                {                    $port = '';                }            }</code>

其中

<code>  if ((':80' == $port && 'http://' == $protocol) ||        (':443' == $port && 'https://' == $protocol))                {                    $port = '';                }</code>

这段代码的意思作用是什么? 如果条件成立,为什么要把$port 设置为空?

整个函数的代码:

<code> 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;    }</code>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.