>php教程 >php手册 >php获取根域名几个示例

php获取根域名几个示例

WBOY
WBOY원래의
2016-05-26 08:21:111222검색

如果你只简单获取当前访问你页面的域名,我们只需要使用php中的函数HTTP_HOST就可以搞定了,如果是提取url根域名是需要正则的,下面看我整理的几个例子.

如果是获取当前域名是非常的简单的,代码如下:

<?php 
//获取当前的域名: 
echo $_SERVER[&#39;SERVER_NAME&#39;]; 
//获取来源网址,即点击来到本页的上页网址 
echo $_SERVER["HTTP_REFERER"]; 
$_SERVER[&#39;REQUEST_URI&#39;];//获取当前域名的后缀 
$_SERVER[&#39;HTTP_HOST&#39;];//获取当前域名 
dirname(__FILE__);//获取当前文件的物理路径 
dirname(__FILE__)."/../";//获取当前文件的上一级物理路径

例子1,代码如下:

function getUrlRoot($url){ 
 
        #添加头部和尾巴 
        $url = $url . "/"; 
        #判断域名 
        preg_match("/((\w*):\/\/)?\w*\.?([\w|-]*\.(com.cn|net.cn|gov.cn|org.cn|com|net|cn|org|asia|tel|mobi|me|tv|biz|cc|name|info))\//", $url, $ohurl); 
        #判断IP 
        if($ohurl[3] == &#39;&#39;){ 
                preg_match("/((\d+\.){3}\d+)\//", $url, $ohip); 
                return $ohip[1]; 
        } 
        return $ohurl[3]; 
}

例子2,代码如下:

/** 
 * 取得根域名 
 * @param type $domain 域名 
 * @return string 返回根域名 
 */ 
function GetUrlToDomain($domain) { 
    $re_domain = &#39;&#39;; 
    $domain_postfix_cn_array = array("com", "net", "org", "gov", "edu", "com.cn", "cn"); 
    $array_domain = explode(".", $domain); 
    $array_num = count($array_domain) - 1; 
    if ($array_domain[$array_num] == &#39;cn&#39;) { 
        if (in_array($array_domain[$array_num - 1], $domain_postfix_cn_array)) { 
            $re_domain = $array_domain[$array_num - 2] . "." . $array_domain[$array_num - 1] . "." . $array_domain[$array_num]; 
        } else { 
            $re_domain = $array_domain[$array_num - 1] . "." . $array_domain[$array_num]; 
        } 
    } else { 
        $re_domain = $array_domain[$array_num - 1] . "." . $array_domain[$array_num];//开源代码phprm.com 
    } 
    return $re_domain; 
}


本文地址:

转载随意,但请附上文章地址:-)

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