前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >查询IP的PHP程序开源

查询IP的PHP程序开源

原创
作者头像
xlj
修改2021-06-29 14:42:41
2.6K0
修改2021-06-29 14:42:41
举报
文章被收录于专栏:XLJ的技术专栏XLJ的技术专栏

简述

这个程序是想简单一点可以查询到 IP 以及物理地址的工具,但是它有很大的进步空间 自适应程序 就拿来做成了程序,非常轻盈 完整打包 : 4Kb 完全不用担心请求会让服务器负载大

腾讯云最新活动 1h1g1m配置就可以运行程序(虚拟主机也可以)

腾讯云活动 首年95元/年

开始

下载地址 GithubTooc网盘(推荐) 密码:yf4a7p

代码 index.php

代码语言:javascript
复制
<?php
    error_reporting(0);

    $yuMingPhp = $_GET['yuMingPhp'];
    if ($yuMingPhp != '域名 / IP / 地址') {
        // 开始获取数据
        $Result = file_get_contents("http://ip-api.com/json/" .$yuMingPhp);
        $resultJson = json_decode($Result);

        // var_dump($resultJson);
    }
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>站长工具 - by XLJ</title>

    <style>
        * {
            margin: 0;
            padding: 0;
        }
        
        html,body {
            height: 100%;
        }

        body {
            font-size: 20px;
        }
    </style>

    <!-- 引入外部文件 -->
    <link rel="stylesheet" href="css/main.css">
</head>
<body> <!-- 警告!: 源码由XLJ独立开发,并无其他人参与开发,严谨二次开发不备注原作者 源码基于开源协议MIT2.0发布 这条信息禁止删除 --> 
    <div id="Container">
        <span id="xieYi">hello</span>
        <div id="Main">
            <form action="./index.php" method="GET">
                <input type="text" value="域名 / IP / 地址" id="yuMing" name="yuMingPhp">
                <button id="souSuo" type="submit"><svg style="width: 50px; height: 50px;" t="1618623657023" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="612" width="200" height="200"><path d="M350.814815 797.392593c-5.499259 0-10.903704-2.085926-15.075556-6.257778l-113.777778-113.777778c-8.343704-8.343704-8.343704-21.807407 0-30.151111l0.18963-0.18963 113.588148-113.588148c8.343704-8.343704 21.807407-8.343704 30.151111 0s8.343704 21.807407 0 30.151111L267.188148 662.281481l98.702222 98.702223c8.343704 8.343704 8.343704 21.807407 0 30.151111-4.171852 4.171852-9.576296 6.257778-15.075555 6.257778z" p-id="613" fill="#d81e06"></path><path d="M604.728889 683.614815h-367.881482c-11.757037 0-21.333333-9.576296-21.333333-21.333334s9.576296-21.333333 21.333333-21.333333h367.881482c71.86963 0 130.37037-58.500741 130.37037-130.37037v-208.592593c0-11.757037 9.576296-21.333333 21.333334-21.333333s21.333333 9.576296 21.333333 21.333333v208.592593c0 46.08-18.014815 89.505185-50.820741 122.216296C694.139259 665.6 650.714074 683.614815 604.728889 683.614815z" p-id="614" fill="#d81e06"></path></svg></button>
                <input type="submit" value="查询" id="souSuoShouJi">
            </form>
        </div>
        <div id="shuJuMain">
            <div id="shuJuMainDiv">
                <span id="zhuangTaiShow">状态</span>
                <span id="zhuangTai"><?php if ($resultJson->status == 'success') {echo "成功";} ?></span>
                <br>
                <span id="ipShow">IP</span>
                <span id="Ip"><?php echo $resultJson->query ?></span>
                <br>
                <span id="guoJiaShow">国家</span>
                <span id="guoJia"><?php echo $resultJson->country ?></span>
                <br>
                <span id="guoJiaSuoXieShow">国家缩写</span>
                <span id="guoJiaSuoXie"><?php echo $resultJson->countryCode; ?></span>
                <br>
                <span id="shengFenShow">省份</span>
                <span id="shengFen"><?php echo $resultJson->regionName; ?></span>
                <br>
                <span id="chengShiShow">城市</span>
                <span id="chengShi"><?php echo $resultJson->city; ?></span>
            </div>
        </div>

        <footer id="Footer">
            ©版权 by <a href="https://xlj0.com">XLJ</a>
        </footer>
    </div>

    <script src="js/main.js"></script>
</body>
</html>

main.css

代码语言:javascript
复制
@media screen and (min-width: 900px) {
    div#Container {
        height: 100%;
        text-align: center;
        position: relative;
    }
    
    div#Main {
        position: absolute;
        top: 50%;
        margin-top: -204px;
        left: 50%;
        margin-left: -235px;
        z-index: 2;
    
        /* display: none; */
    }
    
    input#yuMing {
        background-color: none;
        border: none;
        height: 40px;
        display: inline-block;
        font-size: 22px;
        width: 400px;
        padding: 4px 10px;
        outline: none;
        border: 1px solid #eeeeee;
        border-top-left-radius: 4px;
        border-bottom-left-radius: 4px;
    }
    
    button#souSuo {
        background: none;
        border: none;
        display: inline-block;
        width: 50px;
        height: 50px;
    
        position: absolute;
        top: 50%;
        margin-top: -25px;
        background-color: #eeeeee;
    
        border-top-right-radius: 4px;
        border-bottom-right-radius: 4px;
    
        transition: all 100ms linear;
    }
    button#souSuo:hover {
        background-color: #dddddd;
    
        transition: all 100ms linear;
    }
    
    span#xieYi {
        background-color: #ff7777;
        color: #ffffff;
        padding: 2px 4px;
        position: absolute;
        top: 50%;
        margin-top: -230px;
        left: 50%;
        margin-left: -200px;
        cursor: pointer;
        user-select: none;
        width: 3em;
    
        /* display: none; */
    }
    
    div#shuJuMain {
        width: 100%;
        height: 100%;
        display: inline-block;
        background-color: #000000;
    }
    div#shuJuMainDiv {
        margin-top: 30%;
    }
    div#shuJuMainDiv span {
        color: #ffffff;
        cursor: pointer;
        padding: 4px 8px;
        display: inline-block;
        
        transition: all 100ms linear;
    }
    div#shuJuMainDiv span:hover {
        background-color: #575757;
        
        transition: all 100ms linear;
    }
    
    span#zhuangTai {
        color: #ffc4c4 !important;
    }
    span#Ip {
        color: #ffc4c4 !important;
    }
    span#guoJia {
        color: #ffc4c4 !important;
    }
    span#guoJiaSuoXie {
        color: #ffc4c4 !important;
    }
    span#shengFen {
        color: #ffc4c4 !important;
    }
    span#chengShi {
        color: #ffc4c4 !important;
    }

    /* 底部版权 */
    footer#Footer {
        color: #ffffff;
        background-color: #000000;
        padding-bottom: 20px;
    }

    footer#Footer a {
        color: #ffffff;
    }
}

@media screen and (max-width: 900px) {
    div#shuJuMain {

    }

    div#Main {
        width: 100%;
        display: inline-block;
    }
    
    input#yuMing {
        background: none;
        border: none;
        outline: none;
        width: 100%;
        margin-top: 5%;
        display: inline-block;
        font-size: 20px;
        text-align: center;
        background-color: #eeeeee;
        height: 2.5em;
    }
    
    button#souSuo {
        display: none;
    }
    button#souSuo:hover {
        
    }

    input#souSuoShouJi {
        background: none;
        border: none;
        font-size: 22px;
        display: inline-block;
        width: 100%;
        margin: 4px 0;
    }
    
    span#xieYi {
        display: none;
    }
    
    div#shuJuMain {
        
    }
    div#shuJuMainDiv {
        margin: 10px;
        background-color: #000000;
        color: #ffffff;
        padding: 10px;
    }
    div#shuJuMainDiv span {
        transition: all 100ms linear;
    }
    div#shuJuMainDiv span:hover {
        background-color: #3a3a3a;
        transition: all 100ms linear;
    }
    
    span#zhuangTai {
        
    }
    span#Ip {
        
    }
    span#guoJia {
        
    }
    span#guoJiaSuoXie {
        
    }
    span#shengFen {
        
    }
    span#chengShi {
        
    }

    /* 底部版权 */
    footer#Footer {
        color: #353535;
        display: block;
        text-align: center;
    }

    footer#Footer a {
        color: #ffa1a1;
    }
}

main.js

代码语言:javascript
复制
// 版权声明,开发者 : XLJ(喜樂君)
// 基于开源协议可以进行非商业,二次开发,发布等... 禁止删除这个版权信息,如果需要商用请联系 xlj@xlj0.com
// 如果你想去除版权信息,请联系 xlj@xlj0.com

var yuMing = document.getElementById('yuMing');
var souSuo = document.getElementById('souSuo');
var xieYi = document.getElementById('xieYi');
// ---------- 

// 自定义函数
var consoleLog = function (infoOne, infoTwo) {
    console.log(infoOne, infoTwo);
}

// 版权
consoleLog('版权信息 开发者 : %c XLJ(喜樂君)', 'color: #ff0000;');
consoleLog('基于开源协议可以进行非商业,二次开发,发布等... 禁止删除这个版权信息,如果需要商用请联系 %c xlj@xlj0.com', 'color: #ff0000;');
consoleLog('禁止使用程序违法!否则法律责任自行承担,后果自负,违法包括但不限于(钓鱼,恶意跳转...等等)');
// 点击搜索框清空提示内容
yuMing.onfocus = function () {
    if (yuMing.value == '域名 / IP / 地址') {
        yuMing.value = null;
        consoleLog('Info : ', '聚焦成功,已经清空编辑框')
    } else {
        // 
    }
}
yuMing.onblur = function () {
    if (yuMing.value == '') {
        yuMing.value = '域名 / IP / 地址';
        consoleLog('Info : ', '聚焦取消,已经恢复内容')
    } else {
        // 
    }
}

// 点击查询按钮如果没有输入内容
souSuo.onclick = function () {

    if (yuMing.value == '域名 / IP / 地址') {
        alert('请输入要查询的内容');
    } else {

    }
}

// 点击复制功能
// document.getElementById('zhuangTaiShow').style.display = 'none';
document.getElementById('zhuangTai').onclick = function () {
    var zhuangTaiInfo = document.getElementById('zhuangTai').innerHTML;
    zhuangTaiInfo.select();
    document.execCommand('Copy');
    consoleLog('复制成功');
}
    
// document.getElementById('ipShow').style.display = 'none';
document.getElementById('Ip').onclick = function () {
    document.execCommand(document.getElementById('Ip').value);
}
    
// document.getElementById('guoJiaSuoXieShow').style.display = 'none';
document.getElementById('guoJiaSuoXie').onclick = function () {
    document.execCommand();
}
    
// document.getElementById('shengFenShow').style.display = 'none';
document.getElementById('shengFen').onclick = function () {
    document.execCommand();
}
    
// document.getElementById('chengShiShow').style.display = 'none';
document.getElementById('chengShi').onclick = function () {
    document.execCommand();
}

// 切换协议按钮 点击事件
// xieYi.onclick = function () {

//     var yuMingString = yuMing.value.toString();

//     if (yuMingString.substr(0, 7) == 'http://') {
//         // yuMing.value = 'https://'
//         xieYi.innerHTML = 'http';
//         consoleLog('协议更改为 https');
//     } else if (yuMingString.substr(0, 8) == 'https://') {
//         // yuMing.value = 'http://'
//         xieYi.innerHTML = 'https';
//         consoleLog('协议更改为 http');
//     }
// }

效果图01
效果图01
效果图02
效果图02

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简述
  • 开始
相关产品与服务
轻量应用服务器
轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门开源软件打包实现一键构建应用,提供极简上云体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档