|
|
|
To view the script in action check this link :
http://www.weberdev.com/GeneralDev/IP2Country/index.html
==================
Class clientinf.cls:
==================
<?php
class ClientInfo {
/*this class requires an open MySQL connection to a database*/
/*************************************************************************************/
/*this function returns a country name corresponding to code*/
cfunction getctrybycode($code) {
$code=strtolower($code);
$qry="SELECT country FROM ianacode WHERE code='$code'";
$row=mysql_fetch_row(mysql_query($qry));
if($row[0]=='') return($code);
return($row[0]);
}
/*************************************************************************************/
/*this function returns a country name corresponding to a hostname*/
cfunction getctrybyhost($hostname) {
return($this->getctrybycode($this->getctrycodebyhost($hostname)));
}
/*************************************************************************************/
/*this function returns a country code name corresponding to a hostname*/
cfunction getctrycodebyhost($hostname) {
return(substr(strrchr($hostname,'.'),1));
}
/*************************************************************************************/
/*this function mask an IP address different from current client using '#'
it returns an unaltered IP if same than client*/
cfunction MaskOtherIP($IP) {
if($IP==getenv("REMOTE_ADDR"))
return($IP);
$IP=strtr($IP,"0123456789","##########");
return($IP);
}
};
?>
===============
Table ianacode:
===============
See Attached File ianacode.sql
===================
Usage by an example
===================
<?php
require("$ROOTURL/lib/cls/clientinf.cls");
$myCliInf = new ClientInfo;
{ connect your dabase here }
/*Say $IP is the IP of current visitor*/
$IP=getenv("REMOTE_ADDR");
/*try to get hostname */
$hostname=gethostbyaddr($IP);
if(!strcmp($hostname,$addr))
$hostname='(unknown)';
/*get country if known in table ianacode*/
$country=$myCliInf->getctrybyhost($hostname);
print "IP $IP is registered in country=$country.\n";
/*Note:
If0 you chose to display the access log to your visitors,
you may just want to show the numeric IP to the current visitor,
and hide other IP, but not the country names,
then you will do:*/
print "IP ".$myCliInf->MaskOtherIP($IP)." is registered in country=$country.\n";
?> |
|
| very simple ftp class Categories : PHP, PHP Classes, FTP | | | PHP Paypal IPN Integration Class v1.0.0 Categories : PHP, PHP Classes, Payment Gateways | | | A Timing Class Categories : PHP, PHP Classes, Date Time | | | The class to check load time of your script
VERY usefull for relatively slow applications, but not only.. Categories : PHP, PHP Classes, Debugging | | | Create HTML forms dynamicly using Javascript & PHP Categories : PHP, PHP Classes, Java Script | | | usercounter class Categories : PHP, PHP Classes, Databases, MySQL, Environment Variables | | | RSS parser.
Parses RSS into an array. Quick and nasty but does the job.
No checking is done for correct Tags, only correct XML.
PHP4 needed to display result (uses print_r). Categories : PHP, XML, PHP Classes, Rich Site Summary (RSS) | | | ElfReader: An ELF (Executable and Linking Format) header information in PHP. Shows how to use the UNPACK function to read data. Categories : PHP, Linux, PHP Classes | | | an example of the cyberlib payment class Categories : PHP, PHP Classes, Ecommerce, Credit Cards | | | Power Form Validation Categories : PHP, PHP Classes, Data Validation | | | MySQL Handler Categories : PHP, Databases, MySQL, Classes and Objects, PHP Classes | | | pcCalendar class - Allows for the creation of calendars in HTML pages. All output functions can be easily overridden, refer to article 1471 for an example.
Categories : PHP, Date Time, Calendar, PHP Classes | | | Class for sending mail with MIME attachments in multipart format using external sendmail, mimencode and zip Categories : Email, Network, PHP, PHP Classes | | | Browser Detecor Class Categories : PHP Classes, PHP, HTML | | | PostGreSQL and MySQL 2 in 1 db Manager Categories : PHP, PHP Classes, Databases, PostgreSQL, MySQL | |
| | | | wilton bennet wrote :764
Ok. But include also;
/*in code.php, only */
mysql_connect("localhost","user","pass");
mysql_select_db("your_db");
| |
|
|
|