php中取得URL的根域名的代码_php技巧

复制代码 代码如下:

<?php
/**
* 取得根域名
*
* @author lonely
* @create 2011-3-11
* @version 0.1
* @lastupdate lonely
* @package Sl
*/
class Sl_RootDomain{
private static $self;
private $domain=null;
private $host=null;
private $state_domain;
private $top_domain;
/**
* 取得域名分析实例
* Enter description here ...
*/
public static function instace(){
if(!self::$self)
self::$self=new self();
return self::$self;
}
private function __construct(){
$this->state_domain=array(
'al','dz','af','ar','ae','aw','om','az','eg','et','ie','ee','ad','ao','ai','ag','at','au','mo','bb','pg','bs','pk','py','ps','bh','pa','br','by','bm','bg','mp','bj','be','is','pr','ba','pl','bo','bz','bw','bt','bf','bi','bv','kp','gq','dk','de','tl','tp','tg','dm','do','ru','ec','er','fr','fo','pf','gf','tf','va','ph','fj','fi','cv','fk','gm','cg','cd','co','cr','gg','gd','gl','ge','cu','gp','gu','gy','kz','ht','kr','nl','an','hm','hn','ki','dj','kg','gn','gw','ca','gh','ga','kh','cz','zw','cm','qa','ky','km','ci','kw','cc','hr','ke','ck','lv','ls','la','lb','lt','lr','ly','li','re','lu','rw','ro','mg','im','mv','mt','mw','my','ml','mk','mh','mq','yt','mu','mr','us','um','as','vi','mn','ms','bd','pe','fm','mm','md','ma','mc','mz','mx','nr','np','ni','ne','ng','nu','no','nf','na','za','aq','gs','eu','pw','pn','pt','jp','se','ch','sv','ws','yu','sl','sn','cy','sc','sa','cx','st','sh','kn','lc','sm','pm','vc','lk','sk','si','sj','sz','sd','sr','sb','so','tj','tw','th','tz','to','tc','tt','tn','tv','tr','tm','tk','wf','vu','gt','ve','bn','ug','ua','uy','uz','es','eh','gr','hk','sg','nc','nz','hu','sy','jm','am','ac','ye','iq','ir','il','it','in','id','uk','vg','io','jo','vn','zm','je','td','gi','cl','cf','cn','yr'
);
$this->top_domain=array('com','arpa','edu','gov','int','mil','net','org','biz','info','pro','name','museum','coop','aero','xxx','idv','me','mobi');
$this->url=$_SERVER['HTTP_HOST'];
}
/**
* 设置URL
* Enter description here ...
* @param string $url
*/
public function setUrl($url=null){
$url=$url?$url:$this->url;
if(empty($url))return $this;
if(!preg_match("/^http::/is", $url))
$url="http://".$url;
$url=parse_url(strtolower($url));
$urlarr=explode(".", $url['host']);
$count=count($urlarr);
if ($count<=2){
$this->domain=array_pop($url);
}else if ($count>2){
$last=array_pop($urlarr);
$last_1=array_pop($urlarr);
if(in_array($last, $this->top_domain)){
$this->domain=$last_1.'.'.$last;
$this->host=implode('.', $urlarr);
}else if (in_array($last, $this->state_domain)){
$last_2=array_pop($urlarr);
if(in_array($last_1, $this->top_domain)){
$this->domain=$last_2.'.'.$last_1.'.'.$last;
$this->host=implode('.', $urlarr);
}else{
$this->host=implode('.', $urlarr).$last_2;
$this->domain=$last_1.'.'.$last;
}
}
}
return $this;
}
/**
* 取得域名
* Enter description here ...
*/
public function getDomain(){
return $this->domain;
}
/**
* 取得主机
* Enter description here ...
*/
public function getHost(){
return $this->host;
}
}
?>

时间: 2024-08-22 20:01:54

php中取得URL的根域名的代码_php技巧的相关文章

php中取得URL的根域名的代码

复制代码 代码如下: <?php /** * 取得根域名 * * @author lonely * @create 2011-3-11 * @version 0.1 * @lastupdate lonely * @package Sl */ class Sl_RootDomain{ private static $self; private $domain=null; private $host=null; private $state_domain; private $top_domain;

php获取根域名方法汇总_php技巧

本文实例汇总了php获取根域名方法,分享给大家供大家参考.具体实现方法如下: 如果你只简单获取当前访问你页面的域名,我们只需要使用php中的函数HTTP_HOST就可以搞定了,如果是提取url根域名是需要正则的,下面就来看看几个具体实例. 如果是获取当前域名是非常的简单的: 复制代码 代码如下: <?php //获取当前的域名: echo $_SERVER['SERVER_NAME']; //获取来源网址,即点击来到本页的上页网址 echo $_SERVER["HTTP_REFERER&q

解析php中获取url与物理路径的总结_php技巧

在这里我想总结一下取得地址栏内URL及文件所属的我更路径的一些信息:运用$_SERVER[ ]我们可以来完成许多事情:它是一个包含头部(headers),路径信息及脚本位置的数组,数组的实体由web服务器创建.这是一个"superglobal",或者可以描述为自动全局变量.这只不过意味这它在所有的脚本中都有效.在函数或方法中您不需要使用global $_SERVER; 访问它,就如同使用 $HTTP_SERVER_VARS 一样.$HTTP_SERVER_VARS 包含着同样的信息,但

php获取mysql数据库中的所有表名的代码_php技巧

复制代码 代码如下: $server = 'localhost'; $user = 'root'; $pass = ''; $dbname = 'dayanmei_com'; $conn = mysql_connect($server,$user,$pass); if(!$conn) die("数据库系统连接失败!"); mysql_select_db($dbname) or die("数据库连接失败!"); $result = mysql_query("

php模拟asp中的XmlHttpRequest实现http请求的代码_php技巧

类名 :HttpRequest($url="",$method="GET",$useSocket=0) //$url为请求的地址:默认请求方法为GET:$useSocket默认为0,使用fsockopen方法,如果设置为1则使用socket_create方法 方法: open($ip="",$port=-1) //打开同服务器的连接,默认不用设置这两个参数(一个同事在linux用的时候,请求的不是hostname解析的IP,因此加了这两个参数,以

PHP创建文件,并向文件中写入数据,覆盖,追加的实现代码_php技巧

创建文件我们用到函数 fopen ( string filename, string mode ) 参数filename为创建文件名 参数mode为以什么方式打开文件filename 其中mode可能值列表: mode 说明 'r' 只读方式打开,将文件指针指向文件头. 'r+' 读写方式打开,将文件指针指向文件头. 'w' 写入方式打开,将文件指针指向文件头并将文件大小截为零.如果文件不存在则尝试创建之. 'w+' 读写方式打开,将文件指针指向文件头并将文件大小截为零.如果文件不存在则尝试创建

PHP中计算字符串相似度的函数代码_php技巧

similar_text - 计算两个字符串的相似度 int similar_text ( string $first , string $second [, float &$percent ] ) $first 必需.规定要比较的第一个字符串. $second 必需.规定要比较的第二个字符串. $percent 可选.规定供存储百分比相似度的变量名. 两个字符串的相似程度计算依据 Oliver [1993] 的描述进行.注意该实现没有使用 Oliver 虚拟码中的堆栈,但是却进行了递归调用,这

JS中encodeURIComponent函数用php解码的代码_php技巧

JS中encodeURIComponent函数给中文编码后,如何用php解码?? 前提:编码前的中文可能是gbk,gb2312,utf-8等. 复制代码 代码如下: urldecode() iconv() 在JS中使用了encodeURIComponent对中文进行编码在PHP中使用iconv('UTF-8','gb2312',$q);就可以得到你需要的字串了,其中gb2312根据你实际应用来定如还不明白为什么看下面的文章 URL编码转换,escape() encodeURI() encodeU

php中实现记住密码自动登录的代码_php技巧

php实现记住密码自动登录方法不止一个,下面出现有二个emptyempty,其实是一个,那是因为代码高亮有bug.希望对大家有帮助. 一,用户登录的check 复制代码 代码如下: //检查用户是否登录 function checklogin(){ if(emptyempty($_SESSION['user_info'])){ //检查一下session是不是为空 if(emptyempty($_COOKIE['username']) || emptyempty($_COOKIE['passwo