找回密码
 立即注册

QQ登录

只需一步,快速开始

通过IP获取用户所在区域

实现有ip或者用户区域,使用的是淘宝接口,速度非常快,同时API输出跨域问题完美解决。

代码如下:
  1. <?php
  2. /**
  3. * 获取ip 接口
  4. * @access public 以淘宝的接口为实例
  5. */
  6. function get_ip_info($ip) {
  7.     $curl = curl_init(); //这是curl的handle
  8.     //下面是设置curl参数
  9.     $url = "http://ip.taobao.com/service/getIpInfo.php?ip=$ip";
  10.     curl_setopt($curl, CURLOPT_URL, $url);
  11.     curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
  12.     curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 2);
  13.     curl_setopt($curl, CURLOPT_HEADER, 0); //don't show header
  14.     curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //相当关键,这句话是让curl_exec($ch)返回的结果可以进行赋值给其他的变量进行,json的数据操作,如果没有这句话,则curl返回的数据不可以进行人为的去操作(如json_decode等格式操作)
  15.     curl_setopt($curl, CURLOPT_TIMEOUT, 2);
  16.     //这个就是超时时间了
  17.     $data = curl_exec($curl);
  18.    // return json_decode($data, true);
  19.     return $data;
  20. }

  21. /**
  22. * 对内容进行安全处理
  23. * @param string|array $string 要处理的字符串或者数组
  24. * @param $string $flags 指定标记
  25. */
  26. function dhtmlspecialchars($string, $flags = null) {
  27.     if(is_array($string)) {
  28.         foreach($string as $key => $val) {
  29.             $string[$key] = dhtmlspecialchars($val, $flags);
  30.         }
  31.     } else {
  32.         if($flags === null) {
  33.             $string = str_replace(array('&', '"', '<', '>'), array('&', '"', '<', '>'), $string);
  34.             if(strpos($string, '&#') !== false) {
  35.                 $string = preg_replace('/&((#(\d{3,5}|x[a-fA-F0-9]{4}));)/', '&\\1', $string);
  36.             }
  37.         } else {
  38.             if(PHP_VERSION < '5.4.0') {
  39.                 $string = htmlspecialchars($string, $flags);
  40.             } else {
  41.                 if(strtolower(CHARSET) == 'utf-8') {
  42.                     $charset = 'UTF-8';
  43.                 } else {
  44.                     $charset = 'ISO-8859-1';
  45.                 }
  46.                 $string = htmlspecialchars($string, $flags, $charset);
  47.             }
  48.         }
  49.     }
  50.     return $string;
  51. }

  52. $ip = dhtmlspecialchars($_GET['ip']);
  53. header("Access-Control-Allow-Origin:*");
  54. Header("Access-Control-Allow-Credentials: true");
  55. header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");
  56. header('Access-Control-Allow-Methods: GET, POST, PUT');
  57. echo get_ip_info($ip);
复制代码



本教程由无限星辰工作室CRX349独家整理和提供,转载请注明地址,谢谢。本文地址:https://xmspace.net/thread-618-1-1.html
无限星辰工作室  好集导航 Discuz全集下载  星辰站长网  集热爱361  一品文学  手机小游戏合集   海外空间网 星辰api  星辰支付二维码管理平台 LOT智能硬件聚合平台 阿里云服务器 腾讯云服务器
服务Discuz!建站|DiscuzQ配置|二开|小程序|APP|搬家|挂马清理|防护|Win/Linux环境搭建|优化|运维|
服务理念:专业 诚信 友好QQ842062626 服务项目 Q群315524225

发表于 2018-6-10 17:08:11 | 显示全部楼层 |阅读模式

回复 | 使用道具 举报

该帖共收到 1 条回复!

高级例子:JS直接嵌套使用
游客,如果您要查看本帖隐藏内容请回复
无限星辰工作室  好集导航 Discuz全集下载  星辰站长网  集热爱361  一品文学  手机小游戏合集   海外空间网 星辰api  星辰支付二维码管理平台 LOT智能硬件聚合平台 阿里云服务器 腾讯云服务器
服务Discuz!建站|DiscuzQ配置|二开|小程序|APP|搬家|挂马清理|防护|Win/Linux环境搭建|优化|运维|
服务理念:专业 诚信 友好QQ842062626 服务项目 Q群315524225

发表于 2018-6-10 19:58:34 | 显示全部楼层

回复 | 支持 | 反对 使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

美图秀

    • 自建远程桌面服务器 rustdesk
    • Discuz!x3.4 账号保镖 自动冻结账号无效解
    • PVE换主板后 网络丢失解决方法
    • Kvm 虚拟机迁移到PVE里面
    • Discuz!x3,4 阿里云DCDN配置获取客户端ip
拖动客服框
Online Service
点击这里给我发消息
点击这里联系我们
微信扫一扫
在线客服
快速回复 返回顶部 返回列表