Can anyone recommend me a good geo target script? Free or paid version, doesn't matter.
Geo Target Script
Collapse
X
-
MaxMind - you have API and free GeoIP database version in there....Make a bank with Chaturbate - the best selling webcam program
Ads that can't be block with AdBlockers !!! /// Best paying popup program (Bitcoin payouts) !!!
PHP, MySql, Smarty, CodeIgniter, Laravel, WordPress, NATS... fixing stuff, server migrations & optimizations... My ICQ: 27429884 | Email:
Comment
-
MaxMind's really about it i believe ... would love to hear more if there out there ?
We implemented MaxMind about 3 years ago or so and removed it after a year.
- their data's fine down to the country and state level but outside of the US just falls apart or is plain wrong
- there's no way to push updates / changes back to them
- their DB id's change *when* they make updates which when your saving the ID's into your member DB can cause a bunch of probs
Again would love to hear of some better alternatives to MaxMind ... and if their not out there sure sounds like a biz opportunity for someone
Comment
-
Check out IP2Location.The Only Time When Success Comes Before Work Is In A Dictionary.
Did you ever notice: When you put the 2 words 'The' and 'IRS' together it spells 'Theirs.'Comment
-
Its so true we had a similar problem with our UK dating and contacts site BritishSexContacts.com the geo location from maxmind started off well and the last few years it really has sucked !MaxMind's really about it i believe ... would love to hear more if there out there ?
We implemented MaxMind about 3 years ago or so and removed it after a year.
- their data's fine down to the country and state level but outside of the US just falls apart or is plain wrong
- there's no way to push updates / changes back to them
- their DB id's change *when* they make updates which when your saving the ID's into your member DB can cause a bunch of probs
Again would love to hear of some better alternatives to MaxMind ... and if their not out there sure sounds like a biz opportunity for someone
The US and country wide location is fine its just outside of the US down to city level its just plain wrong not even close most of the time !
Would love to find a accurate alternative
396019140Comment
-
-
geoplugin.com has a free php class that works pretty good
just save this as geoplugin.class.php
then to use it in a php just call it like thisCode:<?php /* This PHP class is free software: you can redistribute it and/or modify the code under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. However, the license header, copyright and author credits must not be modified in any form and always be displayed. This class is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @author geoPlugin ([email protected]) @copyright Copyright geoPlugin ([email protected]) $version 1.01 This PHP class uses the PHP Webservice of http://www.geoplugin.com/ to geolocate IP addresses Geographical location of the IP address (visitor) and locate currency (symbol, code and exchange rate) are returned. See http://www.geoplugin.com/webservices/php for more specific details of this free service */ class geoPlugin { //the geoPlugin server var $host = 'http://www.geoplugin.net/php.gp?ip={IP}&base_currency={CURRENCY}'; //the default base currency var $currency = 'USD'; //initiate the geoPlugin vars var $ip = null; var $city = null; var $region = null; var $areaCode = null; var $dmaCode = null; var $countryCode = null; var $countryName = null; var $continentCode = null; var $latitute = null; var $longitude = null; var $currencyCode = null; var $currencySymbol = null; var $currencyConverter = null; function geoPlugin() { } function locate($ip = null) { global $_SERVER; if ( is_null( $ip ) ) { $ip = $_SERVER['REMOTE_ADDR']; } $host = str_replace( '{IP}', $ip, $this->host ); $host = str_replace( '{CURRENCY}', $this->currency, $host ); $data = array(); $response = $this->fetch($host); $data = unserialize($response); //set the geoPlugin vars $this->ip = $ip; $this->city = $data['geoplugin_city']; $this->region = $data['geoplugin_region']; $this->areaCode = $data['geoplugin_areaCode']; $this->dmaCode = $data['geoplugin_dmaCode']; $this->countryCode = $data['geoplugin_countryCode']; $this->countryName = $data['geoplugin_countryName']; $this->continentCode = $data['geoplugin_continentCode']; $this->latitude = $data['geoplugin_latitude']; $this->longitude = $data['geoplugin_longitude']; $this->currencyCode = $data['geoplugin_currencyCode']; $this->currencySymbol = $data['geoplugin_currencySymbol']; $this->currencyConverter = $data['geoplugin_currencyConverter']; } function fetch($host) { if ( function_exists('curl_init') ) { //use cURL to fetch data $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $host); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_USERAGENT, 'geoPlugin PHP Class v1.0'); $response = curl_exec($ch); curl_close ($ch); } else if ( ini_get('allow_url_fopen') ) { //fall back to fopen() $response = file_get_contents($host, 'r'); } else { trigger_error ('geoPlugin class Error: Cannot retrieve data. Either compile PHP with cURL support or enable allow_url_fopen in php.ini ', E_USER_ERROR); return; } return $response; } function convert($amount, $float=2, $symbol=true) { //easily convert amounts to geolocated currency. if ( !is_numeric($this->currencyConverter) || $this->currencyConverter == 0 ) { trigger_error('geoPlugin class Notice: currencyConverter has no value.', E_USER_NOTICE); return $amount; } if ( !is_numeric($amount) ) { trigger_error ('geoPlugin class Warning: The amount passed to geoPlugin::convert is not numeric.', E_USER_WARNING); return $amount; } if ( $symbol === true ) { return $this->currencySymbol . round( ($amount * $this->currencyConverter), $float ); } else { return round( ($amount * $this->currencyConverter), $float ); } } function nearby($radius=10, $limit=null) { if ( !is_numeric($this->latitude) || !is_numeric($this->longitude) ) { trigger_error ('geoPlugin class Warning: Incorrect latitude or longitude values.', E_USER_NOTICE); return array( array() ); } $host = "http://www.geoplugin.net/extras/nearby.gp?lat=" . $this->latitude . "&long=" . $this->longitude . "&radius={$radius}"; if ( is_numeric($limit) ) $host .= "&limit={$limit}"; return unserialize( $this->fetch($host) ); } } ?>
Code:require_once('geoplugin.class.php'); $geoplugin = new geoPlugin(); $geoplugin->locate(); $city = "{$geoplugin->city}"; echo "We have detected , you live in $city"; ?>hatisblack at yahoo.comComment
-

Comment