zoukankan      html  css  js  c++  java
  • 检测用户是那个城市访问你的网站的

    function detect_city($ip)
    {
    
      $default = 'UNKNOWN';
    
      $curlopt_useragent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)';
    
      $url = 'http://ipinfodb.com/ip_locator.php?ip=' . urlencode($ip);
      $ch = curl_init();
    
      $curl_opt = array(
        CURLOPT_FOLLOWLOCATION => 1,
        CURLOPT_HEADER => 0,
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_USERAGENT => $curlopt_useragent,
        CURLOPT_URL => $url,
        CURLOPT_TIMEOUT => 1,
        CURLOPT_REFERER => 'http://' . $_SERVER['HTTP_HOST'],
      );
    
      curl_setopt_array($ch, $curl_opt);
    
      $content = curl_exec($ch);
    
      if (!is_null($curl_info)) {
        $curl_info = curl_getinfo($ch);
      }
    
      curl_close($ch);
    
      if (preg_match('{<li>City : ([^<]*)</li>}i', $content, $regs)) {
        $city = $regs[1];
      }
      if (preg_match('{<li>State/Province : ([^<]*)</li>}i', $content, $regs)) {
        $state = $regs[1];
      }
    
      if ($city != '' && $state != '') {
        $location = $city . ', ' . $state;
        return $location;
      } else {
        return $default;
      }
    }
    

      

  • 相关阅读:
    基本数据类型与其包装类型
    String与常量池(JDK1.8)
    数据库知识归纳(面试向)
    HashMap、ConcurrentHashMap以及HashTable(面试向)
    Java多线程基础(面试向)
    Java的类加载
    Sql语句的一些事(二)
    RUBY惯用方法(转)
    Ruby中区分运行来源的方法(转)
    ruby安装devkit
  • 原文地址:https://www.cnblogs.com/xin-jun/p/6952622.html
Copyright © 2011-2022 走看看