Home > Article > Backend Development > Summary of methods for obtaining the root domain name in PHP_PHP tutorial
If you simply get the domain name currently visiting your page, we only need to use the function HTTP_HOST in php to get it done. If it is to extract The url root domain name needs to be regular. Let’s take a look at a few specific examples.
It is very simple to obtain the current domain name:
The code is as follows:
//Get the current domain name:
echo $_SERVER['SERVER_NAME'];
//Get the source URL, that is, click to go to the previous page URL of this page
echo $_SERVER["HTTP_REFERER"];
$_SERVER['REQUEST_URI'];//Get the suffix of the current domain name
$_SERVER['HTTP_HOST'];//Get the current domain name
dirname(__FILE__);//Get the physical path of the current file
dirname(__FILE__)."/../";//Get the upper-level physical path of the current file
?>
Example 1
The code is as follows:
Function getUrlRoot($url){
#Add head and tail
$url = $url . "/";
#Judge domain name
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);
#Judge IP
if($ohurl[3] == ''){
preg_match("/((d+.){3}d+)//", $url, $ohip);
return $ohip[1];
}
return $ohurl[3];
}
Example 2
The code is as follows:
/**
* Obtain root domain name
* @param type $domain domain name
* @return string Returns the root domain name
*/
Function GetUrlToDomain($domain) {
$re_domain = '';
$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] == 'cn') {
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];
}
return $re_domain;
}