本文介绍下,在php中,获取域名以及域名对应的IP地址的方法,有需要的朋友参考下。
在php中可以使用内置函数gethostbyname获取域名对应的IP地址,比如:
1 <?php
2 echo gethostbyname("www.jbxue.com");
3 ?>

以上会输出域名所对应的的IP。
对于做了负载与cdn的域名来讲,可能返回的结果会有不同,这点注意下。

下面来说说获取域名的方法,例如有一段网址:http://www.jbxue.com/all-the-resources-of-this-blog.html
方法1,

复制代码代码示例:
//全局数组
echo $_SERVER[“HTTP_HOST”];
//则会输出www.jbxue.com

本地测试则会输出localhost。

方法2,使用parse_url函数;

1 <?php
2 $url ="http://www.jbxue.com/index.php?referer=jbxue.com";
3 $arr=parse_url($url);
4 echo "<pre>";
5 print_r($arr);
6 echo "</pre>";
7 ?>

输出为数组,结果为:

Array
(
[scheme] => http
[host] => www.jbxue.com
[path] => /index.php
[query] => referer=jbxue.com
)

说明:
scheme对应着协议,host则对应着域名,path对应着执行文件的路径,query则对应着相关的参数;

方法3,采用自定义函数。

01 <?php
02     $url ="http://www.jbxue.com/index.php?referer=jbxue.com";
03     get_host($url);
04     function get_host($url){
05         //首先替换掉http://
06         $url=Str_replace("http://","",$url);
07         //获得去掉http://url的/最先出现的位置
08         $position=strpos($url,"/");
09         //如果没有斜杠则表明url里面没有参数,直接返回url,
10         //否则截取字符串
11         if($position==false){
12             echo $url;
13         }else{
14             echo substr($url,0,$position);
15         }
16     }
17 ?>

方法4,使用php正则表达式

1 <?php
2     header("Content-type:text/html;charset=utf-8");
3     $url ="http://www.jbxue.com/index.php?referer=jbxue.com";
4     $pattern="/(http:\/\/)?(.*)\//";
5     if(preg_match($pattern,$url,$arr)){
6         echo "匹配成功!";
7         echo "匹配结果:".$arr[2];
8     }
9 ?>

PHP获取域名、IP地址的方法的更多相关文章

  1. Flask框架获取用户IP地址的方法

    本文实例讲述了python使用Flask框架获取用户IP地址的方法.分享给大家供大家参考.具体如下: 下面的代码包含了html页面和python代码,非常详细,如果你正使用Flask,也可以学习一下最 ...

  2. C#获取真实IP地址实现方法

    通常来说,大家获取用户IP地址常用的方法是: string IpAddress = ""; if((HttpContext.Current.Request.ServerVariab ...

  3. .net core获取本地Ip地址的方法

    笔记: /// <summary> /// 获取本地Ip地址 /// </summary> /// <returns></returns> public ...

  4. 获取用户Ip地址通用方法常见安全隐患(HTTP_X_FORWARDED_FOR)

    分析过程 这个来自一些项目中,获取用户Ip,进行用户操作行为的记录,是常见并且经常使用的. 一般朋友,都会看到如下通用获取IP地址方法. function getIP() { if (isset($_ ...

  5. python获取本地ip地址的方法

    #_*_coding:utf8_*_ #以下两种方法可以在ubuntu下或者windows下获得本地的IP地址 import socket # 方法一 localIP = socket.gethost ...

  6. 集群环境下JSP中获取客户端IP地址的方法

    String ip = request.getHeader("X-Forwarded-For");if (ip == null || ip.length() == 0 || &qu ...

  7. php获取客户端IP地址的方法

    参考:https://www.cnblogs.com/rendd/p/6183094.html <?php function getip() { //strcasecmp 比较两个字符,不区分大 ...

  8. 获取用户Ip地址通用方法

    1 public static function getIp() 2 { 3 if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]) 4 { ...

  9. 获取树莓派ip地址的方法

    1.有显示器​ (1)鼠标停留在屏幕右上角网络图标上,2-3秒会显示网络连接信息​(2) 图形界面下打开终端运行ifconfig命令 2.登录路由器​查看名叫raspberry的设备 3.电脑上运行命 ...

  10. 【转】Asp.Net Core2.0获取客户IP地址,及解决发布到Ubuntu服务器获取不到正确IP解决办法

    1.获取客户端IP地址实现方法(扩展类) using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc.ModelBinding; u ...

随机推荐

  1. js基础系列框架:JS重要知识点(转载)

    这里列出了一些JS重要知识点(不全面,但自己感觉很重要).彻底理解并掌握这些知识点,对于每个想要深入学习JS的朋友应该都是必须的. 讲解还是以示例代码搭配注释的形式,这里做个小目录: JS代码预解析原 ...

  2. Spring MVC生成XML

    以下示例演示如何使用Spring Web MVC框架生成XML.首先使用Eclipse IDE,并按照以下步骤使用Spring Web Framework开发基于动态表单的Web应用程序: 创建一个名 ...

  3. 获取云硬盘列表bug

    有段时间没写博客了,主要还是刚进新公司,多少有点不适应(真会给自己找理由,明明是手里没技术,肚子里没货,能写啥!).前面几个星期都在修一修horizon的bug,这个没啥很大难度,就是用了一个djan ...

  4. Asp.net 基于Cookie简易的权限判断

    基于Cookie简易的权限判断代码,需要的朋友可以参考下. 写入Cookie页面,创建cookie后,设置cookie属性,并添加到Response.Cookies中读取cookie,利用cookie ...

  5. MathType公式行距设置的方法

    在使用普通的文档编辑器编辑数学公式的时候,大家会发现一些数学上特殊的符号.公式很难给编辑出来,有时候就算编辑出来了也不符号一些学术的规范.这个时候就可以使用MathType这款公式编辑器来编辑.但是在 ...

  6. C++初级 入门笔记学习(一)

    ,C++Primer初级: 预处理(E查看)->编译(S查看)->连接 13_枚举:可以尽可能多用枚举,多个const变量,可以用枚举去做: string name("aaa&q ...

  7. nth-child 和 nth-of-type 的区别

    css3中有两个新的选择器可以选择父元素下对应的子元素,一个是:nth-child 另一个是:nth-of-type,它们2个的区别是: nth-of-type为什么要叫:nth-of-type?因为 ...

  8. cocos2d-x:Layer::setPosition

    如果Node的实际类型是Layer或者其派生类, setPosition是不是有猫腻? std::string menuImage = "menu.png"; auto menuI ...

  9. eval()和exec()函数的区别

    (1)eval(str [,globals [,locals ])函数将字符串str当成有效Python表达式来求值,并返回计算结果.(2)exec()函数将字符串str当成有效的Python表达式来 ...

  10. x+=y与x=x+y有什么区别?

    一般情况下,x+=y与x=x+y输出结果是等价的,因此两种写法是可以通用的,但是在某些临界值选用x+=y更加合适,比如: short n=3; n+=1;//编译通过 n=n+1;//编译失败 上述例 ...