PHP获取域名及域名IP的步骤

WBOY
풀어 주다: 2016-06-13 11:39:40
원래의
1403명이 탐색했습니다.

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

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

echo gethostbyname("www.jbxue.com");
로그인 후 복사

以上则会直接输出域名所对应的的IP,当然各个地方测试的结果是不一样的,因为百度的服务器也不只有一台,我这边的ip是115.239.210.27;
下面是获取域名的方法,例如有一段网址是这样的:http://www.jbxue.com/all-the-resources-of-this-blog.html
//则会输出www.jbxue.com//全局数组echo $_SERVER[“HTTP_HOST”];
로그인 후 복사

我在本地测试则会输出localhost
第二种获得域名的方法则是使用:parse_url函数;
$url ="http://www.jbxue.com/index.php?referer=kakata.com";$arr=parse_url($url);echo "";    print_r($arr);    echo "“;
로그인 후 복사

这段代码获得一个数组,当我们打印这个数组,你会一目了然;
Array
(
[scheme] => http
[host] => www.jbxue.com
[path] => /index.php
[query] => referer=jbxue.com
)
scheme对应着协议,host则对应着域名,path对应着执行文件的路径,query则对应着相关的参数;

php 获取域名信息的第三种方法:
同样是这一段域名我们使用第三种方法获取域名,我们采用自定义函数获得。
<!--?php <br ?--> $url ="http://www.jbxue.com/index.php?referer=jbxue.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 <br ?--> header("Content-type:text/html;charset=utf-8");$url ="http://www.jbxue.com/index.php?referer=jbxue.com";$pattern="/(http:\/\/)?(.*)\//";if(preg_match($pattern,$url,$arr)){echo "匹配成功";echo "匹配到了".$arr[2];}?>
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿