
Όταν δουλεύουμε με Διευθύνσεις IP Μπορούμε να εκτελέσετε ορισμένες ενέργειες βάση αυτών Αναγνωριστικό. Μπορούμε να επιτύχουμε την τοποθεσία, εγγύηση ή να αρνηθεί πρόσβαση, Εκτελέστε φιλτράρεται από σειρές, κλπ.
Στην περίπτωση που πρέπει να κάνουμε μια Φιλτράρισμα ανά σειρά, ή οποιαδήποτε άλλη εργασία που θέλετε να ξέρετε αν μια συγκεκριμένη διεύθυνση IP ανήκει ή όχι σε μια σειρά από διευθύνσεις, Μπορούμε να κάνουμε χρήση της την εγγενή λειτουργία κλήση πέσος Φιλιππίνων ip2long.
Λειτουργία ip2long Επιστρέφει μια τιμή αριθμητική ακέραιος με πρόσημο, Έτσι πολλές από τις αξίες που θα επιστραφεί θα είναι αρνητική για αρχιτεκτονικές 32 bits. Για μορφή τους Πρέπει να χρησιμοποιήσουμε σωστά ανυπόγραφο μορφή (%u) και να περάσει η τιμή που θα διαμορφωθεί από τη συνάρτηση 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 από διαφορετικές κατευθύνσεις και Βεβαιωθείτε τα διάφορα υπό όρους Θα σας υποδείξουμε Εάν η διεύθυνση IP είναι εντός τα όρια, χωρίς αποκλεισμούς, Εύρος.
