الاثنين، 4 مارس 2013

كيف تعرف بلد الزائر عبر PHP فقط؟

بسم الله الرحمن الرحيم،
سنتعرف فى تلك التدوينة على طريقة سهلة وبسيطة لمعرفة بلد الزائر عبر لغة PHP فقط وبدون إستخدام إضافات خارج اللغة، فلنقم الآن بتجربة هذا الموضوع.
- تحميل الملفات.
أولاً سنقوم بتحمل مجلد بسيط وهو عبارة عن بعض ملفات الـPHP المرقمة، ويمكنك تحميله من هنا.
- ما بعد التحميل.
الآن ستقوم بفك الضغط عن الملف، ثم قم بوضع المجلد الناتج (ip_files) بداخل مجلد السكربت الخاص بك، ثم نذهب إلى الصفحة المراد طبع اسم دولة الزائر إليها.
- خطوات العمل.
بدايةً سنقوم بأخذ IP الزائر ووضعه فى متغير يسمّى ipadress  كما فى السطر التالي:
$ipadress = $_SERVER['REMOTE_ADDR'];
ثم بعد ذلك سنقوم بكتابة الدالة التي سنسميها iptocountry والتي ستقوم بإرجاع اسم الدولة لنا، وتلك هي الشيفرة الخاصة بالدالة:
$two_letter_country_code=iptocountry("101.102.103.104");

function iptocountry($ip) {
$numbers = preg_split( "/./", $ip);
include("ip_files/".$numbers[0].".php");
$code=($numbers[0] * 16777216) + ($numbers[1] * 65536) + ($numbers[2] * 256) +
($numbers[3]); foreach($ranges as $key => $value){
if($key<=$code){
if($ranges[$key][0]>=$code){$country=$ranges[$key][1];break;}
}
}
if ($country==""){$country="unkown";}
return $country;
}
والآن ستقوم دالة iptocountry بإرجاع اسم الدولة لنا حيث أننا نستطيع الآن إستخدام الدالة ببساطة عبر إستدعائها ووضع IP الزائر بها ومن ثم طباعتها ، وذلك عبر الشيفرة التالية:
echo iptocountry($ipadress);

بالتوفيق :)

المزيد من المواضيع:

1 التعليقات:

  1. أول مرة الاقي موضوع يعجبني هنا :3
    بس تبقا حلو قوي لو شرحت أكواد الملفات الموجودة في الملف المضغوط.

    ردحذف