بسم الله الرحمن الرحيم،
سنتعرف فى تلك التدوينة على طريقة سهلة وبسيطة لمعرفة بلد الزائر عبر لغة PHP فقط وبدون إستخدام إضافات خارج اللغة، فلنقم الآن بتجربة هذا الموضوع.
- تحميل الملفات.
أولاً سنقوم بتحمل مجلد بسيط وهو عبارة عن بعض ملفات الـPHP المرقمة، ويمكنك تحميله من هنا.
- ما بعد التحميل.
الآن ستقوم بفك الضغط عن الملف، ثم قم بوضع المجلد الناتج (ip_files) بداخل مجلد السكربت الخاص بك، ثم نذهب إلى الصفحة المراد طبع اسم دولة الزائر إليها.
- خطوات العمل.
بدايةً سنقوم بأخذ IP الزائر ووضعه فى متغير يسمّى ipadress كما فى السطر التالي:
بالتوفيق :)
سنتعرف فى تلك التدوينة على طريقة سهلة وبسيطة لمعرفة بلد الزائر عبر لغة 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 الزائر بها ومن ثم طباعتها ، وذلك عبر الشيفرة التالية: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;
}
echo iptocountry($ipadress);
بالتوفيق :)
أول مرة الاقي موضوع يعجبني هنا :3
ردحذفبس تبقا حلو قوي لو شرحت أكواد الملفات الموجودة في الملف المضغوط.