Typecho——为评论增加地址信息展示

简介: Typecho——为评论增加地址信息展示

前言

想针对EasyBe主题的评论,增加对应的IP地址信息展示;

内容

?> 找了搜狐、淘宝、ip.sb等一些api,最后选择了plyz.net,在functions.php中添加以下方法;

函数封装

/**
 * 留言IP
 *
 * @param int $ip ip地址
 */
function getIPInfo($ip) {
    $url =  "http://ip.plyz.net/ip.ashx?ip={$ip}";
    $data = curlRequest($url, 'GET');
    echo explode("|",$data)[1];
}
/**
 * 多种请求方法封装
 *
 * @param string   $url      请求地址
 * @param string   $method   请求方式
 * @param array    $header   请求头
 * @param array    $data     请求体
 *
 * @return mixed
 */
function curlRequest($url, $method = 'POST', $header = ["Content-type:application/json;charset=utf-8", "Accept:application/json"], $data = [])
{
    $method = strtoupper($method);
    $ch = curl_init();
    //curl_setopt($ch, CURLOPT_PROXY, '127.0.0.1:8888');
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, $url);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    if (!empty($data)) {
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    }
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $res = curl_exec($ch);
    curl_close($ch);
    return $res;
}

前端调用

在评论内容页,找个合适的位置调用即可;

<?php getIPInfo($comments->ip) ?>

学无止境,谦卑而行.

目录
相关文章
|
测试技术 网络架构
【技术干货连载 一】业务经过WAF HTTP 400问题排查
教你如何排查和解决业务经过WAF 七层代理HTTP 400问题原因?
774 1
|
Java Maven
SpringBoot用maven打出的jar只有几kb解决
SpringBoot用maven打出的jar只有几kb解决
1230 0
|
存储 NoSQL 关系型数据库
什么是列式存储,一文秒懂
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 从数据存储讲起 我们最先接触的数据库系统,大部分都是行存储系统。大学的时候学数据库,老师让我们将数据库想象成一张表格,每条数据记录就是一行数据,每行数据包含若干列。
什么是列式存储,一文秒懂
|
SQL Java 数据库连接
浅谈SSM框架理论相关知识_kaic
浅谈SSM框架理论相关知识_kaic
|
8月前
|
弹性计算 开发者
阿里云服务器配置选择推荐:个人用户、学生及企业用户选购经验分享
阿里云2025年优惠解析:新用户38元/年享轻量服务器,老用户99元/年用ECS;学生领300元券免费用云服务;企业199元/年购2核4G高配。配置灵活,续费同价,适合个人、学生及企业开发者。
|
JSON Shell API
查手机号归属地免费API接口教程
本接口提供手机号码归属地查询功能,支持获取号段、归属地省份/城市、运营商、区号、邮编等信息。请求地址为 `https://cn.apihz.cn/api/ip/shouji.php`,支持 POST 或 GET 方式调用,需提供 `id`、`key` 和 `phone` 参数。返回包含归属地信息及运营商等数据,适用于手机号归属查询场景。
2640 6
|
关系型数据库 MySQL 数据库
解决Navicat报错:2013 - Lost connection to MySQL server during query
解决Navicat报错:2013 - Lost connection to MySQL server during query
4199 0
|
应用服务中间件 Apache nginx
宝塔占用80端口
宝塔占用80端口
|
存储 Python
终于,手把手教会 HR 实现 Python + Excel 「邮件自动化」发工资条了
终于,手把手教会 HR 实现 Python + Excel 「邮件自动化」发工资条了
540 0
|
JSON JavaScript 前端开发
若依修改,若依如何发送get和post请求,发送数据请求的写法,若依请求的API在src的api文件下,建立请求的第一步,在API中新建一个文件,第二步新建JavaScript文件
若依修改,若依如何发送get和post请求,发送数据请求的写法,若依请求的API在src的api文件下,建立请求的第一步,在API中新建一个文件,第二步新建JavaScript文件