
عندما نعمل مع عناوين IP يمكننا تنفيذ إجراءات معينة على أساس هذه المعرف. ويمكن أن نحصل موقع, ضمان أو رفض الوصول إلى, أداء تصفية حسب نطاقات, إلخ.
في الحالة التي نحن بحاجة إلى جعل التصفية حسب مجموعة, أو أي عملية أخرى في الذي تريد أن تعرف إذا كان عنوان IP معين ينتمي أو لا إلى مجموعة من العناوين, يمكننا أن نجعل استخدامها الدالة الأصلية اتصل بي ip2long.
الدالة ip2long تقوم بإرجاع قيمة عدد صحيح بإشارة رقمية, وسيكون الكثير من القيم التي سيتم إرجاعها السلبية لأبنية من 32 معاهدات الاستثمار الثنائية. من أجل تنسيق لهم ويجب أن نستخدم بشكل صحيح تنسيق غير الموقعة (%يو) وتمرير القيمة التي تمت تهيئتها بواسطة الدالة printf().
1 | printf ( "%u", ip2long( $ip ) ); |
العودة إلى هدفنا معرفة ما إذا كان بعض عنوان IP ينتمي إلى مجموعة من العناوين, ثم تركت مدونة للقيام بذلك:
1 2 3 4 5 6 7 8 9 10 11 | function estaIPDentroDeRango( $ip, $inicioRango, $finRango ) { if ( $finRango === false ) { $estaDentro = ( $inicioRango === $ip ); } else { $estaDentro = ( ip2long( $inicioRango ) <= ip2long( $ip ) && ip2long( $finRango ) >= ip2long( $ip ) ); } return $estaDentro; } |
كما يمكنك مشاهدة, شيء جداً بسيطة حساب. تؤدي فقط التحويلات استخدام دالة ip2long من اتجاهات مختلفة و تحقق مختلف الشرطي وسوف تبين لنا إذا كانت الملكية الفكرية ضمن حدود, شاملة, النطاق.
