PHP获取域名、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 |
?> |
输出为数组,结果为:
(
[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地址的方法的更多相关文章
- Flask框架获取用户IP地址的方法
本文实例讲述了python使用Flask框架获取用户IP地址的方法.分享给大家供大家参考.具体如下: 下面的代码包含了html页面和python代码,非常详细,如果你正使用Flask,也可以学习一下最 ...
- C#获取真实IP地址实现方法
通常来说,大家获取用户IP地址常用的方法是: string IpAddress = ""; if((HttpContext.Current.Request.ServerVariab ...
- .net core获取本地Ip地址的方法
笔记: /// <summary> /// 获取本地Ip地址 /// </summary> /// <returns></returns> public ...
- 获取用户Ip地址通用方法常见安全隐患(HTTP_X_FORWARDED_FOR)
分析过程 这个来自一些项目中,获取用户Ip,进行用户操作行为的记录,是常见并且经常使用的. 一般朋友,都会看到如下通用获取IP地址方法. function getIP() { if (isset($_ ...
- python获取本地ip地址的方法
#_*_coding:utf8_*_ #以下两种方法可以在ubuntu下或者windows下获得本地的IP地址 import socket # 方法一 localIP = socket.gethost ...
- 集群环境下JSP中获取客户端IP地址的方法
String ip = request.getHeader("X-Forwarded-For");if (ip == null || ip.length() == 0 || &qu ...
- php获取客户端IP地址的方法
参考:https://www.cnblogs.com/rendd/p/6183094.html <?php function getip() { //strcasecmp 比较两个字符,不区分大 ...
- 获取用户Ip地址通用方法
1 public static function getIp() 2 { 3 if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]) 4 { ...
- 获取树莓派ip地址的方法
1.有显示器 (1)鼠标停留在屏幕右上角网络图标上,2-3秒会显示网络连接信息(2) 图形界面下打开终端运行ifconfig命令 2.登录路由器查看名叫raspberry的设备 3.电脑上运行命 ...
- 【转】Asp.Net Core2.0获取客户IP地址,及解决发布到Ubuntu服务器获取不到正确IP解决办法
1.获取客户端IP地址实现方法(扩展类) using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc.ModelBinding; u ...
随机推荐
- 基于Virtext6平台的GTX IP核基本设置说明
本工程基于以下条件使用: 板卡:DBF板v3.0 芯片型号:Virtex6 315T ISE版本:14.7 IP核版本: v6_gtxwizard : 1.12 一.IP核配置进行流程 第一页配置:线 ...
- Xilinx FPGA 学习笔记
一.时序设计 方法1.通过状态机来实现,通过verilog控制FPGA,让它该快的时候快,该慢的时候慢. 方法2.FPGA中运行CPU 把逻辑控制顺序复杂的事情用C代码来实现,而实时处理部分用veri ...
- Shell脚本与vi编辑器:vi启动与退出、工作模式、命令大全
Vi简介 Vi是一种广泛存在于各种UNIX和Linux系统中的文本编辑程序. Vi不是排版程序,只是一个纯粹的文本编辑程序. Vi是全屏幕文本编辑器,它没有菜单,只有命令. Vi不是基于窗口的,所以, ...
- 75. Find Peak Element 【medium】
75. Find Peak Element [medium] There is an integer array which has the following features: The numbe ...
- YDKJS读书笔记
程序的本质就是语句的集合,只不过按照顺序进行排列了而已. 语句包含表达式,表达式包含代码,程序由语句组成. interpreter,解释器:compiler,编译器:他们的职责就是将对人友好的语句翻译 ...
- NGINX扩展
https://github.com/cuber/ngx_http_google_filter_module
- jcosole使用方法
一.JConsole是什么 从Java 5开始 引入了 JConsole.JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行.您可以轻松地使用 JCo ...
- D. Powerful array 离线+莫队算法 给定n个数,m次查询;每次查询[l,r]的权值; 权值计算方法:区间某个数x的个数cnt,那么贡献为cnt*cnt*x; 所有贡献和即为该区间的值;
D. Powerful array time limit per test seconds memory limit per test megabytes input standard input o ...
- Discuz! X 插件开发手册
文件命名规范 Discuz! 按照如下的规范对程序和模板进行命名,请在设计插件时尽量遵循此命名规范: 可以直接通过浏览器访问的普通程序文件,以 .php 后缀命名. 被普通程序文件引用的程序文件, ...
- Eclipse Debug 配置
创建和使用 Debug 配置 Eclipse Debug 配置类似于运行配置但它是用于在调试模式下开启应用. 打开 Debug 配置对话框步骤为:Run > Debug Configuratio ...