<?php
function get_local_ip()
{$preg = "/\A((([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\.){3}(([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\Z/";
//获取操作系统为win2000/xp、win7的本机IP真实地址exec("ipconfig", $out, $stats);if (!empty($out)) {foreach ($out AS $row) {if (strstr($row, "IP") && strstr($row, ":") && !strstr($row, "IPv6")) {$tmpIp = explode(":", $row);if (preg_match($preg, trim($tmpIp[1]))) {returntrim($tmpIp[1]);}}}}
//获取操作系统为linux类型的本机IP真实地址exec("ifconfig", $out, $stats);if (!empty($out)) {if (isset($out[1]) && strstr($out[1], 'addr:')) {$tmpArray = explode(":", $out[1]);$tmpIp = explode("", $tmpArray[1]);if (preg_match($preg, trim($tmpIp[0]))) {returntrim($tmpIp[0]);}}}return '127.0.0.1';
}   
exec('/sbin/ifconfig eth1 |grep "inet addr"| cut -f 2 -d ":"|cut -f 1 -d " "');
<?php
/**获取服务器ip地址* @return array|false|string*/
function get_server_ip()
{$preg = "/\A((([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\.){3}(([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\Z/";$os = Check_Domain_Helper::check_machine_os();if ($os === 'Windows') {
//获取操作系统为win2000/xp、win7的本机IP真实地址exec("ipconfig", $out, $stats);if (!empty($out)) {foreach ($out AS $row) {if (strstr($row, "IP") && strstr($row, ":") && !strstr($row, "IPv6")) {$tmpIp = explode(":", $row);if (preg_match($preg, trim($tmpIp[1]))) {return trim($tmpIp[1]);}}}}} else {
//获取操作系统为linux类型的本机IP真实地址$result = shell_exec("/sbin/ifconfig");if (preg_match_all("/inet (\d+\.\d+\.\d+\.\d+)/", $result, $match) !== 0)  // 这里根据你机器的具体情况, 可能要对“inet ”进行调整, 如“addr:”,看如下注释掉的if
// if (preg_match_all("/addr:(\d+\.\d+\.\d+\.\d+)/", $result, $match) !== 0){foreach ($match [0] as $k => $v) {if ($match [1] [$k] != "127.0.0.1") {$the_local_ip = $match [1] [$k];return $match [1] [$k];}}}}return '127.0.0.1';
}
/** 获取请求端IP地址*/
private static function getClientIp()
{if ($_SERVER['REMOTE_ADDR']) {$ip = $_SERVER['REMOTE_ADDR'];} elseif (getenv("REMOTE_ADDR")) {$ip = getenv("REMOTE_ADDR");} elseif ($_SERVER['HTTP_X_FORWARDED_FOR']) {$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];} elseif ($_SERVER['HTTP_CLIENT_IP']) {$ip = $_SERVER['HTTP_CLIENT_IP'];} elseif (getenv("HTTP_X_FORWARDED_FOR")) {$ip = getenv("HTTP_X_FORWARDED_FOR");} elseif (getenv("HTTP_CLIENT_IP")) {$ip = getenv("HTTP_CLIENT_IP");} else {$ip = "";}return $ip;
}
 

php获取本机IP地址相关推荐

  1. Go 学习笔记(79)— Go 标准库 net(获取本机IP地址)

    1. 获取本机 IP 地址 package mainimport ("fmt""net" )// 获取本机网卡IP func getLocalIP() (ipv ...

  2. python获取本机 ip地址、mac地址(物理地址)、计算机名、硬盘序列号、CPU序列号、主板序列号、bios序列号、bios uuid号

    文章目录 python获取本机IP地址.mac地址(物理地址).计算机名 物理地址 计算机名.ip地址 硬盘序列号 CPU序列号 主板序列号 bios序列号 bios uuid号 python获取本机 ...

  3. 快速获取本机IP地址AWK功能

    有些时候,我们在应用中可能要用到通过linux命令来获取本机IP地址,方法有很多种,例如最常见的就是ifconfig 如果我想尽尽只获取IP地址,方法也有很多种 例如:获取eth0的IP信息,利用cu ...

  4. C#获取本机IP地址字符串

    1 using System.Net;2 using System.Net.Sockets;3 4 /// <summary>5 /// 获取本机IP地址6 /// </summar ...

  5. python设置本机IP地址、子网掩码、DNS,获取本机IP地址、子网掩码、DNS、MAC

    python设置本机IP地址.子网掩码.DNS,获取本机IP地址.子网掩码.DNS.MAC main.py """=== coding: UTF8 ==="&q ...

  6. Java 网络实例一(获取指定主机的IP地址、查看端口是否已使用、获取本机ip地址及主机名、获取远程文件大小)

    获取指定主机的IP地址 import java.net.InetAddress; import java.net.UnknownHostException;public class GetIP {pu ...

  7. java获取本机ip地址_代码片段:获取系统所有IP

    问题 在Windows系统中,可以支持多个网卡,比如有线的以太网卡,无线网卡,虚拟网卡等.如下图所示: 每一张网卡由不同的类型,也可以分别被用户启用或禁用. 对于单独一张给定的网卡,其IP地址可以是D ...

  8. Delphi如何获取本机IP地址

    Delphi获取本机IP地址 //获取本机IP function TKSMsgLog.GetLocalAddress:String; typeTaPInAddr = array [0..10] of ...

  9. python 获取本机IP地址

    方法一: 通常使用socket.gethostbyname()方法即可获取本机IP地址,但有时候获取不到(比如没有正确设置主机名称),示例代码如下: import socket# 获取本机计算机名称 ...

  10. 用java获取本机IP地址

    在网上找了几个用java获取本机IP地址的代码,发现都少都有些不完美,自己整理了一下.突然之间很想把自己的IP地址给获取了,虽然用系统自带命令可以得到,但自己想写一个程序获取一下,到网上搜索了一下ja ...

最新文章

  1. AUTOVC: Zero-Shot Voice Style Transfer with Only Autoencoder Loss代码调试过程
  2. flask request (request.files)
  3. 【Python】学习笔记总结3(Python文件操作)
  4. linux命令(8)kill命令
  5. FireMonkey 平台初探
  6. 计算机的工作原理是二进制原理吗,电子计算机的工作原理基于二进制。()
  7. 如何实现文件上传 - JavaWeb
  8. 用perl操作excel的介绍
  9. hdu 1254 推箱子(嵌套搜索,bfs中有dfs)
  10. iPhone SDK开发基础之使用UINavigationController组织和管理UIView
  11. 完全卸载vs2013 2015
  12. cplex求解整数规划_Ortools调用第三方求解器
  13. python property方法_高效 Python 代码 —— 属性与 @property 方法
  14. Spring Security配置放行请求,将参数放置于请求体时放行失效
  15. 一次成功的mybatis-plus级联查询
  16. 将超星阅读器的PDG格式文件转化成PDF格式
  17. Ansys-结构动力学分析-悬臂梁模态分析学习收获
  18. 腾讯扩容 php环境失效,腾讯云硬盘扩容挂载应该怎么办?
  19. shell脚本之正则表达式
  20. 电脑C盘满了怎么办?请放心删除这些文件夹

热门文章

  1. 业内称马航或因失联事件面临破产重组
  2. 2017“CCF科学技术奖”全公布,6位获奖人带来独家经验分享
  3. alibabaprotect 是危险的有害的顽固的病毒般的存在
  4. 网吧服务器是起什么作用的,网吧服务器缓存命中率是什么,有什么用?
  5. Python中metrics的用法
  6. 敏捷教练的八种失败角色
  7. 操作系统作业:向内核中添加一个系统调用
  8. android中slider控件,range-slider-view
  9. Android Back回退按钮
  10. 【科普】“植物神经功能紊乱”如何诊断和治疗呢?