示例#1
0
 /**
  * 添加IP到库中
  * @param string $ip ip地址
  * @return int 当前ip所在地区(省份)ID
  */
 public function add($ip)
 {
     if ($ip == '127.0.0.1') {
         return '1';
     }
     $province_id = 1;
     $city_id = 35;
     $url = 'http://ip.taobao.com/service/getIpInfo.php?ip=' . $ip;
     $url = str_replace('&', '&', $url);
     $curl = curl_init();
     curl_setopt($curl, CURLOPT_URL, $url);
     curl_setopt($curl, CURLOPT_HEADER, false);
     curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
     curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 0);
     $string = curl_exec($curl);
     curl_close($curl);
     $json = json_decode($string);
     //如果无法正常解析到JSON,则返回 北京的id
     if ($json == false) {
         return $province_id;
     }
     if (!is_object($json->data)) {
         return $province_id;
     }
     $provinceName = str_replace('省', '', $json->data->region);
     $provinceName = str_replace('市', '', $provinceName);
     $cityName = str_replace('市', '', $json->data->city);
     $mod = new Application_Model_City();
     $row = $mod->getCityByName($cityName);
     if ($row != false) {
         $province_id = $row->parent;
         $city_id = $row->id;
     }
     $tb = $this->NewTable();
     $tb->ip = $ip;
     $tb->province_id = $province_id;
     $tb->city_id = $city_id;
     $tb->address = '';
     try {
         $tb->insert();
     } catch (XF_Exception $e) {
     }
     return $province_id;
 }