Вход Регистрация
* Balltazor

Определение местоположения по IP

  1. function detect_city ( $ip ) {
  2. $default = 'UNKNOWN' ;
  3. if ( !is_string ( $ip ) ||
  4. strlen($ip ) < 1 || $ip ==
  5. '127.0.0.1' || $ip == 'localhost' )
  6. $ip = '8.8.8.8' ;
  7. $curlopt_useragent =
  8. 'Mozilla/5.0 (Windows; U; Windows NT
  9. 5.1; en-US; rv:1.9.2) Gecko/20100115
  10. Firefox/3.6 (.NET CLR 3.5.30729)' ;
  11. $url = 'http://ipinfodb.com/
  12. ip_locator.php?ip=' . urlencode ( $ip) ;
  13. $ch = curl_init () ;
  14. $curl_opt = array (
  15. CURLOPT_FOLLOWLOCATION
  16. => 1 ,
  17. CURLOPT_HEADER =>
  18. 0,
  19. CURLOPT_RETURNTRANSFER
  20. => 1 ,
  21. CURLOPT_USERAGENT =>
  22. $curlopt_useragent ,
  23. CURLOPT_URL =>
  24. $url ,
  25. CURLOPT_TIMEOUT
  26. => 1 ,
  27. CURLOPT_REFERER
  28. => '<a
  29. href="http://' .">http://' .</a>
  30. $_SERVER ['HTTP_HOST'],
  31. );
  32. curl_setopt_array( $ch ,
  33. $curl_opt );
  34. $content = curl_exec( $ch);
  35. if (!is_null( $curl_info )) {
  36. $curl_info =
  37. curl_getinfo( $ch );
  38. }
  39. curl_close( $ch );
  40. if ( preg_match('{<li>City :
  41. ([^<]*)</li>}i', $content , $regs ) )
  42. {
  43. $city = $regs[1] ;
  44. }
  45. if ( preg_match('{<li>State/
  46. Province : ([^<]*)</li>}i', $content ,
  47. $regs) ) {
  48. $state = $regs[1] ;
  49. }
  50. if( $city!='' &amp;&amp;
  51. $state !='' ){
  52. $location = $city . ', ' .
  53. $state ;
  54. return $location ;
  55. }else{
  56. return $default ;
  57. }
  58. }
» Описание: Думаю остальное описание излишне.
» Время добавления: 13 Июня 2014 в 12:20
» Посмотров: 1145
» textarea
» Рейтинг: [+0 | -0]
Комментарии [1]
Онлайн: 1
Реклама