使用IP138读取用户端地址写入数据库函数

时间:2022-06-05
本文章向大家介绍使用IP138读取用户端地址写入数据库函数,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

最近突然发现本函数无法获取地址信息了,经查看file_get_contents函数无法获取IP138网页上的真实内容。 原因如下,由于IP138采用API接口,对网页查询进行了User_agent的限制。非正常请求返回空白,而默认PHP是不发送User_agent请求头的,需要对php.ini进行配置,清除php.ini中User_agent前面的分号,重启下apache即可。 ================================================================

会员用户需要记录登录的实际地址,采用IP138的数据。

function get_ip($ip)
{
    if ($ip){
        $a="本站数据:";
        $url="http://www.ip138.com/ips138.asp?ip=$ip";
        $str=mb_convert_encoding(file_get_contents($url),"utf-8","GBK");//强制转换成UTF8编码
        preg_match('/<ul class="ul1"><li>(.*?)</li><li>/',$str,$result);//正则表达式查找
        $ip_str=str_replace($a,"",$result[1]);
        return $ip_str;
    }else{
        return '未知地址';
    }
}