• 当前位置:首页 > 日志 > PHP获取域名方法及获取域名IP的方法
  • 博客搬到SAE了,这个还是比较省心的。不用老是为备份担心。
  • 开启友情赞助空间
  • 无聊了:[ 探索发现 ] 一下,精彩文章等着你哦!

PHP获取域名方法及获取域名IP的方法

2013-08-21 08:05

3,546阅览 2条评 日志 arno

 

我最近在做的一个项目用到获取域名和IP的功能,大致有以下几种方法。

获取域名IP的方法可以使用内置的函数gethostbyname获取,例如:

echo gethostbyname("www.baidu.com");

以上则会直接输出域名所对应的的IP,当然各个地方测试的结果是不一样的,因为百度的服务器也不只有一台,我这边的ip是115.239.210.27;
下面是获取域名的方法,例如有一段网址是这样的:http://www.kakata.com/all-the-resources-of-this-blog.html

//则会输出www.kakata.com
//全局数组
echo $_SERVER[“HTTP_HOST”];

我在本地测试则会输出localhost
第二种获得域名的方法则是使用:parse_url函数;

    $url ="http://www.kakata.com/index.php?referer=kakata.com";
$arr=parse_url($url);
echo "<pre>";
print_r($arr);
echo "</pre>";

这段代码获得一个数组,当我们打印这个数组,你会一目了然;
Array
(
[scheme] => http
[host] => www.kakata.com
[path] => /index.php
[query] => referer=kakata.com
)
scheme对应着协议,host则对应着域名,path对应着执行文件的路径,query则对应着相关的参数;
第三种方法:
同样是这一段域名我们使用第三种方法获取域名,我们采用自定义函数获得。

<?php
$url ="http://www.kakata.com/index.php?referer=kakata.com";
get_host($url);
function get_host($url){
//首先替换掉http://
$url=str_replace("http://","",$url);
//获得去掉http://url的/最先出现的位置
$position=strpos($url,"/");
//如果没有斜杠则表明url里面没有参数,直接返回url,
//否则截取字符串
if($position==false){
echo $url;
}else{
echo substr($url,0,$position);
}
}
?>

最后一种方法则是使用正则了,这一步比较复杂,要实现复杂的域名匹配就得更复杂的正则,我只是简单的提供一下思路,大家多尝试。

<?php
header("Content-type:text/html;charset=utf-8");
$url ="http://www.kakata.com/index.php?referer=kakata.com";
$pattern="/(http:\/\/)?(.*)\//";
if(preg_match($pattern,$url,$arr)){
echo "匹配成功";
echo "匹配到了".$arr[2];
}
?>
本文声明

除非注明,否则文章均为 " 枫林博客 " 原创,转载时请注明文章出处。


作者信息:arno \ 2013-08-21 08:05 \ 枫林博客 \

分类标签:日志

本文地址:http://www.blogfeng.com/php-get-the-domain-method-and-a-method-to-obtain-domain-ip.html

已经有2 条评论啦
  1. #1    2013-08-21 14:29 回复TA
    不给力的面条:

    以前用到过获取域名后边那一段字符的代码

    •   2013-08-25 13:53 回复TA
      书带草:

      😀

      签到成功!签到时间:下午1:58:25,每日打卡,生活更精彩哦~

发表评论

* *



​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​