The examples in this article summarize the methods of obtaining the root domain name in PHP and share them with you for your reference. The specific implementation method is as follows:
If you only simply obtain 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 The 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:
<?php //获取当前的域名: echo $_SERVER['SERVER_NAME']; //获取来源网址,即点击来到本页的上页网址 echo $_SERVER["HTTP_REFERER"]; $_SERVER['REQUEST_URI'];//获取当前域名的后缀 $_SERVER['HTTP_HOST'];//获取当前域名 dirname(FILE);//获取当前文件的物理路径 dirname(FILE)."/../";//获取当前文件的上一级物理路径 ?>
Example 1
The code is as follows:
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] == ''){ preg_match("/((\d+\.){3}\d+)\//", $url, $ohip); return $ohip[1]; } return $ohurl[3]; }
Example 2
The code is as follows:
/** * 取得根域名 * @param type $domain 域名 * @return string 返回根域名 */ 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; }
The above is the detailed content of PHP obtain root domain name method summary code example. For more information, please follow other related articles on the PHP Chinese website!