【php】获取服务器公网ip,内网ip「建议收藏」

【php】获取服务器公网ip,内网ip「建议收藏」<?php/***CreatedbyPhpStorm.*User:zhudechao*Date:2019/3/20*Time:下午5:27*/namespacezhdcp\ip;classIp{publicfunctionget_outer(){$ch=curl_init(‘http://…

大家好,又见面了,我是你们的朋友全栈君。

<?php
/**
 * Created by PhpStorm.
 * User: zhudechao
 * Date: 2019/3/20
 * Time: 下午5:27
 */

namespace zhdcp\ip;


class Ip
{
    public function get_outer()
    {
        $ch = curl_init('http://2019.ip138.com/ic.asp');
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $a  = curl_exec($ch);
        preg_match('/\[(.*)\]/', $a, $ip);
        print_r($ip[1]);
        die();
    }

    function get_inter()
    {
        $onlineip = '';
        if (getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
            $onlineip = getenv('HTTP_CLIENT_IP');
        } elseif (getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
            $onlineip = getenv('HTTP_X_FORWARDED_FOR');
        } elseif (getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
            $onlineip = getenv('REMOTE_ADDR');
        } elseif (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
            $onlineip = $_SERVER['REMOTE_ADDR'];
        }
        return $onlineip;
    }

    public function get_client_ip()
    {
        if (getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
            $ip = getenv('HTTP_CLIENT_IP');
        } elseif (getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
            $ip = getenv('HTTP_X_FORWARDED_FOR');
        } elseif (getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
            $ip = getenv('REMOTE_ADDR');
        } elseif (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
            $ip = $_SERVER['REMOTE_ADDR'];
        }
        return preg_match('/[\d\.]{7,15}/', $ip, $matches) ? $matches [0] : '';
    }
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/146086.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月15日 下午9:00
下一篇 2022年5月15日 下午9:20


相关推荐

  • no input file specified 三种解决方法

    no input file specified 三种解决方法一.IIS Noinputfilespecified方法一:改PHP.ini中的doc_root行,打开ini文件注释掉此行,然后重启IIS方法二:请修改php.ini找到;cgi.force_redirect=1去掉前面分号,把后面的1改为0即cgi.force_redirect=0二.apache Noinputfilespecifi…

    2022年7月25日
    16
  • Python实现矩阵乘法

    Python实现矩阵乘法欢迎点击 算法与编程之美 关注我们 本文首发于微信公众号 算法与编程之美 欢迎关注 及时了解更多此系列文章 问题描述矩阵相信大家都

    2026年3月18日
    1
  • Mac怎样安装Pycharm

    Mac怎样安装Pycharm下载地址 https www jetbrains com zh cn pycharm download section mac 拖拽过去打开

    2026年3月27日
    2
  • Java web实现简登录页面(MyBatis+jsp+servlet+html+css+javascript)附源码「建议收藏」

    Java web实现简登录页面(MyBatis+jsp+servlet+html+css+javascript)附源码「建议收藏」本文利用MyBatis+jsp+servlet+html+css+javascript实现了一个简单的登录页面。对用户输入的用户名和密码就行校验,校验通过则登录成功,密码和用户信息保存在mysql表中,通过MyBatis访问(MyBatis相关知识可参考先前的文章MyBatis测试)。先给出最终的效果图:登录成功则进入如下页面:登录失败,则进入如下页面:如果输入的密码或者用…

    2022年7月27日
    9
  • OpenClaw(小龙虾) 和 Claude Code 的核心区别是什么?

    OpenClaw(小龙虾) 和 Claude Code 的核心区别是什么?

    2026年3月14日
    1
  • 镜头畸变矫正

    镜头畸变矫正五 畸变矫正 让世界不在扭曲 nbsp nbsp nbsp nbsp nbsp 这篇博文所要讲述的内容 是标定的主要用途之一 矫正摄像机的畸变 对于图像畸变矫正的方法 张正友教授也在其大作 AFlexibleNew 中给出 nbsp nbsp nbsp nbsp nbsp 玉米在这里先为大家介绍一下 摄像机畸变主要有哪几种以及这些讨厌的畸变从何而来 摄像机畸变主要包含

    2026年3月19日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号