parsmizban
Member
سلام
بعد ازین که IP2Location رو برا دانلود (برای دانلود کلیک کنید) گزاشتم حالا آموزش استفاده از اونو میخوام بزارم
IP2location از IP number استفاده می کنه نه از IP اصلی
طریقه بدست آوردن IP number :
IP number از فرمول زیر پیروی می کنه
مثلا :
برای IP 161.132.13.1 عدد IP number می شه 2709785857
خوب چه جوری اینو تو PHP در بیاریم؟
ماله ASP C# VB.net coldfasion هم function هاش هست اگه کسی می خواد بگه بزارم
خوب حالا نوبت پیدا کردن IP طرفه !
اینم کدش
خوب دیتابیس رو می سازیم با MYSQL با هر اسمی که می خواین
بعد این ها رو IMPORT می کنیم
بعد با استفاده از PHPmyAdmin اون فایل CSV رو IMPORT می کنین (البته کار سختیه ولی شدنیه ) هر کس نتونست بگه من بهش یاد بدم یا براش فایل SQL بفرستم من انجامش دادم
حالا نوبت Query که به دیتا بیس می دیم هیست
خوب دیگه حالا IP2Location در دست شماست
موفق باشید پایان
بعد ازین که IP2Location رو برا دانلود (برای دانلود کلیک کنید) گزاشتم حالا آموزش استفاده از اونو میخوام بزارم
IP2location از IP number استفاده می کنه نه از IP اصلی
طریقه بدست آوردن IP number :
IP number از فرمول زیر پیروی می کنه
IP Number, X = A x (256*256*256) + B x (256*256) + C x 256 + D
مثلا :
برای IP 161.132.13.1 عدد IP number می شه 2709785857
IP Number, X = 161 x (256*256*256) + 132 x (256*256) + 13 x (256) + 1
= 2709785857
= 2709785857
خوب چه جوری اینو تو PHP در بیاریم؟
PHP:
PHP Function
function Dot2LongIP ($IPaddr)
{
if ($IPaddr == "") {
return 0;
} else {
$ips = split ("\.", "$IPaddr");
return ($ips[3] + $ips[2] * 256 + $ips[1] * 256 * 256 + $ips[0] * 256 * 256 * 256);
}
}
ماله ASP C# VB.net coldfasion هم function هاش هست اگه کسی می خواد بگه بزارم
خوب حالا نوبت پیدا کردن IP طرفه !
اینم کدش
PHP without Proxy detection
PHP with Proxy detection
PHP:
<?
$ipaddress = getenv(REMOTE_ADDR);
?>
PHP with Proxy detection
PHP:
<?
if (getenv(HTTP_X_FORWARDED_FOR)) {
$ipaddress = getenv(HTTP_X_FORWARDED_FOR);
} else {
$ipaddress = getenv(REMOTE_ADDR);
}
?>
خوب دیتابیس رو می سازیم با MYSQL با هر اسمی که می خواین
بعد این ها رو IMPORT می کنیم
PHP:
CREATE TABLE IPCITYLATLONGISPDOMAIN
(
ipFROM INT(10) UNSIGNED ZEROFILL NOT NULL DEFAULT '0000000000',
ipTO INT(10) UNSIGNED ZEROFILL NOT NULL DEFAULT '0000000000',
countrySHORT CHAR(2) NOT NULL,
countryLONG VARCHAR(64) NOT NULL,
ipREGION VARCHAR(128) NOT NULL,
ipCITY VARCHAR(128) NOT NULL,
ipLATITUDE DOUBLE,
ipLONGITUDE DOUBLE,
ipISP VARCHAR(255) NOT NULL,
ipDOMAIN VARCHAR(128) NOT NULL,
PRIMARY KEY(ipFROM, ipTO)
);
بعد با استفاده از PHPmyAdmin اون فایل CSV رو IMPORT می کنین (البته کار سختیه ولی شدنیه ) هر کس نتونست بگه من بهش یاد بدم یا براش فایل SQL بفرستم من انجامش دادم
حالا نوبت Query که به دیتا بیس می دیم هیست
PHP:
$sql=SELECT [COUNTRY NAME COLUMN], [REGION NAME COLUMN], [CITY NAME COLUMN], [LATITUDE COLUMN], [LONGITUDE COLUMN], [ISP NAME], [DOMAIN NAME]
FROM [IP-COUNTRY-REGION-CITY-LATITUDE-LONGITUDE-ISP-DOMAIN TABLE]
WHERE ([IP FROM COLUMN] <= [SEARCH IP NO]) AND ([IP TO COLUMN] >= [SEARCH IP NO])
خوب دیگه حالا IP2Location در دست شماست
موفق باشید پایان