IPLib adalah pustaka alamat IP dan manipulasi subnet yang modern, kompatibel dengan PSR, digerakkan oleh pengujian. Ini mengimplementasikan primitif untuk menangani alamat IPv4 dan IPv6, serta rentang IP (subnet), dalam format CIDR (seperti $address = \IPLib\Address\IPv6::parseString('::1');0 atau $address = \IPLib\Address\IPv6::parseString('::1');1) dan dalam format pola (seperti $address = \IPLib\Address\IPv6::parseString('::1');2 atau $address = \IPLib\Address\IPv6::parseString('::1');3) Show
PersyaratanIPLib memiliki persyaratan yang sangat mendasar seperti
InstalasiInstalasi manualUnduh versi terbaru, unzip dan tambahkan baris ini di file PHP kami require_once 'path/to/iplib/ip-lib.php';_ Instalasi dengan ComposerCukup jalankan composer require mlocati/ip-lib atau tambahkan baris ini ke file $address = \IPLib\Address\IPv6::parseString('::1');4 Anda "require": { "mlocati/ip-lib": "^1" } Penggunaan sampelMengurai alamatUntuk mengurai alamat IPv4 $address = \IPLib\Address\IPv4::parseString('127.0.0.1');_ Untuk mengurai alamat IPv6 $address = \IPLib\Address\IPv6::parseString('::1'); Untuk mengurai alamat dalam format apa pun (IPv4 atau IPv6) $address = \IPLib\Factory::parseAddressString('::1'); $address = \IPLib\Factory::parseAddressString('127.0.0.1'); Dapatkan alamat berikutnya/sebelumnya$address = \IPLib\Factory::parseAddressString('::1'); // This will print :: echo (string) $address->getPreviousAddress(); // This will print ::2 echo (string) $address->getNextAddress(); Dapatkan alamat pada offset yang ditentukanUntuk alamat $address = \IPLib\Factory::parseAddressString('::1'); // This will print ::1 echo (string) $address->getAddressAtOffset(0); // This will print ::2 echo (string) $address->getAddressAtOffset(1); // This will print ::3 echo (string) $address->getAddressAtOffset(2); // This will print ::3e9 echo (string) $address->getAddressAtOffset(1000); // This will print :: echo (string) $address->getAddressAtOffset(-1); // This will print NULL echo var_dump($address->getAddressAtOffset(-2)); Untuk rentang $range = \IPLib\Factory::parseRangeString('::ff00/120'); // This will print ::ff00 echo (string) $range->getAddressAtOffset(0); // This will print ::ff10 echo (string) $range->getAddressAtOffset(16); // This will print ::ff64 echo (string) $range->getAddressAtOffset(100); // This will print NULL because the address ::1:0 is out of the range var_dump($range->getAddressAtOffset(256)); // This will print ::ffff echo (string) $range->getAddressAtOffset(-1); // This will print ::fff0 echo (string) $range->getAddressAtOffset(-16); // This will print ::ff00 echo (string) $range->getAddressAtOffset(-256); // This will print NULL because the address ::feff is out of the range var_dump($range->getAddressAtOffset(-257)); Parsing rentang alamat IPUntuk mengurai rentang subnet (CIDR). $range = \IPLib\Range\Subnet::parseString('127.0.0.1/24'); $range = \IPLib\Range\Subnet::parseString('::1/128'); Untuk mengurai rentang pola (notasi bintang). composer require mlocati/ip-lib0 Untuk mengurai alamat sebagai rentang composer require mlocati/ip-lib1 Untuk mem-parsing rentang dalam format apa pun composer require mlocati/ip-lib2 Ambil rentang dari batas-batasnyaAnda dapat menghitung rentang terkecil yang terdiri dari dua alamat composer require mlocati/ip-lib_3 Anda juga dapat menghitung daftar rentang yang menggambarkan dengan tepat semua alamat di antara dua alamat composer require mlocati/ip-lib_4 Mengambil batas rentangcomposer require mlocati/ip-lib5 Format alamat dan rentangAlamat dan rentang IP memiliki metode $address = \IPLib\Address\IPv6::parseString('::1');5 yang dapat Anda gunakan untuk mengambil representasi tekstual composer require mlocati/ip-lib_6 Saat bekerja dengan IPv6, Anda mungkin menginginkan representasi alamat yang lengkap (diperluas). Dalam hal ini, cukup gunakan parameter $address = \IPLib\Address\IPv6::parseString('::1');_6 untuk metode $address = \IPLib\Address\IPv6::parseString('::1');5 composer require mlocati/ip-lib_7 Objek alamat dan jangkauan mengimplementasikan metode $address = \IPLib\Address\IPv6::parseString('::1');_8, yang memanggil metode $address = \IPLib\Address\IPv6::parseString('::1');9. Jadi, jika Anda menginginkan representasi string (pendek) dari suatu objek, Anda dapat melakukan salah satu dari yang berikut ini composer require mlocati/ip-lib_8 Periksa apakah alamat terdapat dalam rentangSemua jenis jangkauan menawarkan metode $address = \IPLib\Factory::parseAddressString('::1'); $address = \IPLib\Factory::parseAddressString('127.0.0.1');_0, dan semua jenis alamat IP menawarkan metode $address = \IPLib\Factory::parseAddressString('::1'); $address = \IPLib\Factory::parseAddressString('127.0.0.1');1. Anda dapat memanggil mereka untuk memeriksa apakah suatu alamat terdapat dalam suatu rentang composer require mlocati/ip-lib_9 Harap diperhatikan bahwa jika alamatnya adalah IPv4 dan jangkauannya adalah IPv6 (atau sebaliknya), hasilnya akan selalu $address = \IPLib\Factory::parseAddressString('::1'); $address = \IPLib\Factory::parseAddressString('127.0.0.1');2 Periksa apakah rentang berisi rentang lainSemua jenis jangkauan menawarkan metode $address = \IPLib\Factory::parseAddressString('::1'); $address = \IPLib\Factory::parseAddressString('127.0.0.1');3. Anda dapat memanggil mereka untuk memeriksa apakah rentang alamat sepenuhnya berisi rentang lain "require": { "mlocati/ip-lib": "^1" }0 Mendapatkan jenis alamat IPJika Anda ingin mengetahui apakah suatu alamat berada dalam jaringan pribadi, atau apakah itu IP publik, atau apa pun yang Anda inginkan, Anda dapat menggunakan metode $address = \IPLib\Factory::parseAddressString('::1'); $address = \IPLib\Factory::parseAddressString('127.0.0.1');4 "require": { "mlocati/ip-lib": "^1" }1 Nilai yang paling menonjol dari tipe rentang adalah
Mendapatkan jenis rentang alamat IPJika Anda ingin mengetahui jenis rentang alamat, Anda dapat menggunakan metode $address = \IPLib\Factory::parseAddressString('::1'); $address = \IPLib\Factory::parseAddressString('127.0.0.1');4 "require": { "mlocati/ip-lib": "^1" }2 Perhatikan bahwa jika rentang mencakup beberapa jenis rentang, Anda akan mendapatkan NULL sebagai jenis rentang "require": { "mlocati/ip-lib": "^1" }3 Konversi alamat IPPustaka ini mendukung konversi IPv4 ke/dari alamat IPv6 menggunakan notasi 6to4 atau "require": { "mlocati/ip-lib": "^1" }4 Mengubah rentang IPPustaka ini mendukung rentang IPv4/IPv6 dalam format pola (mis. $address = \IPLib\Factory::parseAddressString('::1'); // This will print :: echo (string) $address->getPreviousAddress(); // This will print ::2 echo (string) $address->getNextAddress();8) dan dalam format CIDR/subnet (mis. $address = \IPLib\Factory::parseAddressString('::1'); // This will print :: echo (string) $address->getPreviousAddress(); // This will print ::2 echo (string) $address->getNextAddress();_9), dan menawarkan cara untuk mengkonversi antara dua format "require": { "mlocati/ip-lib": "^1" }5 Harap perhatikan bahwa semua jenis rentang menerapkan metode $address = \IPLib\Factory::parseAddressString('::1'); // This will print ::1 echo (string) $address->getAddressAtOffset(0); // This will print ::2 echo (string) $address->getAddressAtOffset(1); // This will print ::3 echo (string) $address->getAddressAtOffset(2); // This will print ::3e9 echo (string) $address->getAddressAtOffset(1000); // This will print :: echo (string) $address->getAddressAtOffset(-1); // This will print NULL echo var_dump($address->getAddressAtOffset(-2));0 dan $address = \IPLib\Factory::parseAddressString('::1'); // This will print ::1 echo (string) $address->getAddressAtOffset(0); // This will print ::2 echo (string) $address->getAddressAtOffset(1); // This will print ::3 echo (string) $address->getAddressAtOffset(2); // This will print ::3e9 echo (string) $address->getAddressAtOffset(1000); // This will print :: echo (string) $address->getAddressAtOffset(-1); // This will print NULL echo var_dump($address->getAddressAtOffset(-2));1 Mendapatkan subnet mask untuk rentang IPv4Anda dapat menggunakan $address = \IPLib\Factory::parseAddressString('::1'); // This will print ::1 echo (string) $address->getAddressAtOffset(0); // This will print ::2 echo (string) $address->getAddressAtOffset(1); // This will print ::3 echo (string) $address->getAddressAtOffset(2); // This will print ::3e9 echo (string) $address->getAddressAtOffset(1000); // This will print :: echo (string) $address->getAddressAtOffset(-1); // This will print NULL echo var_dump($address->getAddressAtOffset(-2));_2 untuk mendapatkan subnet mask untuk rentang IPv4 "require": { "mlocati/ip-lib": "^1" }6 Mendapatkan ukuran rentangAnda dapat menggunakan $address = \IPLib\Factory::parseAddressString('::1'); // This will print ::1 echo (string) $address->getAddressAtOffset(0); // This will print ::2 echo (string) $address->getAddressAtOffset(1); // This will print ::3 echo (string) $address->getAddressAtOffset(2); // This will print ::3e9 echo (string) $address->getAddressAtOffset(1000); // This will print :: echo (string) $address->getAddressAtOffset(-1); // This will print NULL echo var_dump($address->getAddressAtOffset(-2));_3 untuk mendapatkan jumlah alamat yang terdapat dalam rentang IP ini "require": { "mlocati/ip-lib": "^1" }7 Mendapatkan alamat pencarian DNS terbalikUntuk melakukan kueri DNS terbalik, Anda perlu menggunakan format khusus dari alamat IP Anda dapat menggunakan metode $address = \IPLib\Factory::parseAddressString('::1'); // This will print ::1 echo (string) $address->getAddressAtOffset(0); // This will print ::2 echo (string) $address->getAddressAtOffset(1); // This will print ::3 echo (string) $address->getAddressAtOffset(2); // This will print ::3e9 echo (string) $address->getAddressAtOffset(1000); // This will print :: echo (string) $address->getAddressAtOffset(-1); // This will print NULL echo var_dump($address->getAddressAtOffset(-2));_4 dari instance alamat IP untuk mengambilnya dengan mudah "require": { "mlocati/ip-lib": "^1" }_8 Untuk mem-parsing alamat dalam format pencarian DNS terbalik, Anda dapat menggunakan flag $address = \IPLib\Factory::parseAddressString('::1'); // This will print ::1 echo (string) $address->getAddressAtOffset(0); // This will print ::2 echo (string) $address->getAddressAtOffset(1); // This will print ::3 echo (string) $address->getAddressAtOffset(2); // This will print ::3e9 echo (string) $address->getAddressAtOffset(1000); // This will print :: echo (string) $address->getAddressAtOffset(-1); // This will print NULL echo var_dump($address->getAddressAtOffset(-2));5 saat mengurai string "require": { "mlocati/ip-lib": "^1" }_9 Anda juga dapat menggunakan $address = \IPLib\Factory::parseAddressString('::1'); // This will print ::1 echo (string) $address->getAddressAtOffset(0); // This will print ::2 echo (string) $address->getAddressAtOffset(1); // This will print ::3 echo (string) $address->getAddressAtOffset(2); // This will print ::3e9 echo (string) $address->getAddressAtOffset(1000); // This will print :: echo (string) $address->getAddressAtOffset(-1); // This will print NULL echo var_dump($address->getAddressAtOffset(-2));_4 untuk rentang IP. Dalam hal ini, hasilnya adalah array string $address = \IPLib\Address\IPv4::parseString('127.0.0.1');_0 Menggunakan basis dataPaket ini menawarkan fitur yang hebat. Anda dapat menyimpan rentang alamat dalam tabel database, dan memeriksa apakah alamat terdapat dalam salah satu rentang yang disimpan dengan kueri sederhana Untuk menyimpan rentang, Anda perlu menyimpan jenis alamat (untuk IPv4 adalah $address = \IPLib\Factory::parseAddressString('::1'); // This will print ::1 echo (string) $address->getAddressAtOffset(0); // This will print ::2 echo (string) $address->getAddressAtOffset(1); // This will print ::3 echo (string) $address->getAddressAtOffset(2); // This will print ::3e9 echo (string) $address->getAddressAtOffset(1000); // This will print :: echo (string) $address->getAddressAtOffset(-1); // This will print NULL echo var_dump($address->getAddressAtOffset(-2));7, untuk IPv6 adalah $address = \IPLib\Factory::parseAddressString('::1'); // This will print ::1 echo (string) $address->getAddressAtOffset(0); // This will print ::2 echo (string) $address->getAddressAtOffset(1); // This will print ::3 echo (string) $address->getAddressAtOffset(2); // This will print ::3e9 echo (string) $address->getAddressAtOffset(1000); // This will print :: echo (string) $address->getAddressAtOffset(-1); // This will print NULL echo var_dump($address->getAddressAtOffset(-2));8), serta dua nilai yang mewakili awal dan akhir rentang. Metode-metode ini adalah $address = \IPLib\Address\IPv4::parseString('127.0.0.1');_1 Misalkan Anda menyimpan jenis dalam bidang bernama $address = \IPLib\Factory::parseAddressString('::1'); // This will print ::1 echo (string) $address->getAddressAtOffset(0); // This will print ::2 echo (string) $address->getAddressAtOffset(1); // This will print ::3 echo (string) $address->getAddressAtOffset(2); // This will print ::3e9 echo (string) $address->getAddressAtOffset(1000); // This will print :: echo (string) $address->getAddressAtOffset(-1); // This will print NULL echo var_dump($address->getAddressAtOffset(-2));9, dan batas rentang dalam dua bidang bernama $range = \IPLib\Factory::parseRangeString('::ff00/120'); // This will print ::ff00 echo (string) $range->getAddressAtOffset(0); // This will print ::ff10 echo (string) $range->getAddressAtOffset(16); // This will print ::ff64 echo (string) $range->getAddressAtOffset(100); // This will print NULL because the address ::1:0 is out of the range var_dump($range->getAddressAtOffset(256)); // This will print ::ffff echo (string) $range->getAddressAtOffset(-1); // This will print ::fff0 echo (string) $range->getAddressAtOffset(-16); // This will print ::ff00 echo (string) $range->getAddressAtOffset(-256); // This will print NULL because the address ::feff is out of the range var_dump($range->getAddressAtOffset(-257));0 dan $range = \IPLib\Factory::parseRangeString('::ff00/120'); // This will print ::ff00 echo (string) $range->getAddressAtOffset(0); // This will print ::ff10 echo (string) $range->getAddressAtOffset(16); // This will print ::ff64 echo (string) $range->getAddressAtOffset(100); // This will print NULL because the address ::1:0 is out of the range var_dump($range->getAddressAtOffset(256)); // This will print ::ffff echo (string) $range->getAddressAtOffset(-1); // This will print ::fff0 echo (string) $range->getAddressAtOffset(-16); // This will print ::ff00 echo (string) $range->getAddressAtOffset(-256); // This will print NULL because the address ::feff is out of the range var_dump($range->getAddressAtOffset(-257));1 Saat Anda ingin memeriksa apakah suatu alamat berada dalam rentang yang disimpan, cukup gunakan metode $range = \IPLib\Factory::parseRangeString('::ff00/120'); // This will print ::ff00 echo (string) $range->getAddressAtOffset(0); // This will print ::ff10 echo (string) $range->getAddressAtOffset(16); // This will print ::ff64 echo (string) $range->getAddressAtOffset(100); // This will print NULL because the address ::1:0 is out of the range var_dump($range->getAddressAtOffset(256)); // This will print ::ffff echo (string) $range->getAddressAtOffset(-1); // This will print ::fff0 echo (string) $range->getAddressAtOffset(-16); // This will print ::ff00 echo (string) $range->getAddressAtOffset(-256); // This will print NULL because the address ::feff is out of the range var_dump($range->getAddressAtOffset(-257));2 dari alamat tersebut dan periksa apakah itu berada di antara bidang $range = \IPLib\Factory::parseRangeString('::ff00/120'); // This will print ::ff00 echo (string) $range->getAddressAtOffset(0); // This will print ::ff10 echo (string) $range->getAddressAtOffset(16); // This will print ::ff64 echo (string) $range->getAddressAtOffset(100); // This will print NULL because the address ::1:0 is out of the range var_dump($range->getAddressAtOffset(256)); // This will print ::ffff echo (string) $range->getAddressAtOffset(-1); // This will print ::fff0 echo (string) $range->getAddressAtOffset(-16); // This will print ::ff00 echo (string) $range->getAddressAtOffset(-256); // This will print NULL because the address ::feff is out of the range var_dump($range->getAddressAtOffset(-257));0 dan $range = \IPLib\Factory::parseRangeString('::ff00/120'); // This will print ::ff00 echo (string) $range->getAddressAtOffset(0); // This will print ::ff10 echo (string) $range->getAddressAtOffset(16); // This will print ::ff64 echo (string) $range->getAddressAtOffset(100); // This will print NULL because the address ::1:0 is out of the range var_dump($range->getAddressAtOffset(256)); // This will print ::ffff echo (string) $range->getAddressAtOffset(-1); // This will print ::fff0 echo (string) $range->getAddressAtOffset(-16); // This will print ::ff00 echo (string) $range->getAddressAtOffset(-256); // This will print NULL because the address ::feff is out of the range var_dump($range->getAddressAtOffset(-257));1, dan periksa apakah $address = \IPLib\Factory::parseAddressString('::1'); // This will print ::1 echo (string) $address->getAddressAtOffset(0); // This will print ::2 echo (string) $address->getAddressAtOffset(1); // This will print ::3 echo (string) $address->getAddressAtOffset(2); // This will print ::3e9 echo (string) $address->getAddressAtOffset(1000); // This will print :: echo (string) $address->getAddressAtOffset(-1); // This will print NULL echo var_dump($address->getAddressAtOffset(-2));9 yang disimpan sama dengan salah satu contoh alamat yang Anda Ini contoh kodenya $address = \IPLib\Address\IPv4::parseString('127.0.0.1');_2 Menangani string alamat dan rentang non-standarMenerima portJika Anda ingin menerima alamat yang mungkin menyertakan port, Anda dapat menentukan flag $range = \IPLib\Factory::parseRangeString('::ff00/120'); // This will print ::ff00 echo (string) $range->getAddressAtOffset(0); // This will print ::ff10 echo (string) $range->getAddressAtOffset(16); // This will print ::ff64 echo (string) $range->getAddressAtOffset(100); // This will print NULL because the address ::1:0 is out of the range var_dump($range->getAddressAtOffset(256)); // This will print ::ffff echo (string) $range->getAddressAtOffset(-1); // This will print ::fff0 echo (string) $range->getAddressAtOffset(-16); // This will print ::ff00 echo (string) $range->getAddressAtOffset(-256); // This will print NULL because the address ::feff is out of the range var_dump($range->getAddressAtOffset(-257));6 $address = \IPLib\Address\IPv4::parseString('127.0.0.1');_3 Menerima ID zona IPv6Jika Anda ingin menerima alamat IPv6 yang mungkin menyertakan ID zona, Anda dapat menentukan flag $range = \IPLib\Factory::parseRangeString('::ff00/120'); // This will print ::ff00 echo (string) $range->getAddressAtOffset(0); // This will print ::ff10 echo (string) $range->getAddressAtOffset(16); // This will print ::ff64 echo (string) $range->getAddressAtOffset(100); // This will print NULL because the address ::1:0 is out of the range var_dump($range->getAddressAtOffset(256)); // This will print ::ffff echo (string) $range->getAddressAtOffset(-1); // This will print ::fff0 echo (string) $range->getAddressAtOffset(-16); // This will print ::ff00 echo (string) $range->getAddressAtOffset(-256); // This will print NULL because the address ::feff is out of the range var_dump($range->getAddressAtOffset(-257));7 $address = \IPLib\Address\IPv4::parseString('127.0.0.1');_4 Menerima alamat IPv4 non-desimalAlamat IPv4 biasanya dinyatakan dalam notasi desimal, misalnya sebagai $address = \IPLib\Factory::parseAddressString('::1'); // This will print :: echo (string) $address->getPreviousAddress(); // This will print ::2 echo (string) $address->getNextAddress();2 Omong-omong, implementasi GNU (digunakan di banyak distro Linux), BSD (digunakan di Mac), dan Windows dari $range = \IPLib\Factory::parseRangeString('::ff00/120'); // This will print ::ff00 echo (string) $range->getAddressAtOffset(0); // This will print ::ff10 echo (string) $range->getAddressAtOffset(16); // This will print ::ff64 echo (string) $range->getAddressAtOffset(100); // This will print NULL because the address ::1:0 is out of the range var_dump($range->getAddressAtOffset(256)); // This will print ::ffff echo (string) $range->getAddressAtOffset(-1); // This will print ::fff0 echo (string) $range->getAddressAtOffset(-16); // This will print ::ff00 echo (string) $range->getAddressAtOffset(-256); // This will print NULL because the address ::feff is out of the range var_dump($range->getAddressAtOffset(-257));9 dan $range = \IPLib\Range\Subnet::parseString('127.0.0.1/24'); $range = \IPLib\Range\Subnet::parseString('::1/128');0 menerima alamat IPv4 dengan angka dalam format oktal dan/atau heksadesimal. Mohon diperhatikan bahwa ini tidak berlaku untuk fungsi $range = \IPLib\Range\Subnet::parseString('127.0.0.1/24'); $range = \IPLib\Range\Subnet::parseString('::1/128');1 dan $range = \IPLib\Range\Subnet::parseString('127.0.0.1/24'); $range = \IPLib\Range\Subnet::parseString('::1/128');2, serta implementasi Musl (digunakan dalam Alpine Linux) dari $range = \IPLib\Factory::parseRangeString('::ff00/120'); // This will print ::ff00 echo (string) $range->getAddressAtOffset(0); // This will print ::ff10 echo (string) $range->getAddressAtOffset(16); // This will print ::ff64 echo (string) $range->getAddressAtOffset(100); // This will print NULL because the address ::1:0 is out of the range var_dump($range->getAddressAtOffset(256)); // This will print ::ffff echo (string) $range->getAddressAtOffset(-1); // This will print ::fff0 echo (string) $range->getAddressAtOffset(-16); // This will print ::ff00 echo (string) $range->getAddressAtOffset(-256); // This will print NULL because the address ::feff is out of the range var_dump($range->getAddressAtOffset(-257));9 dan $range = \IPLib\Range\Subnet::parseString('127.0.0.1/24'); $range = \IPLib\Range\Subnet::parseString('::1/128');0 Jadi, misalnya, semua alamat ini setara dengan $address = \IPLib\Factory::parseAddressString('::1'); // This will print :: echo (string) $address->getPreviousAddress(); // This will print ::2 echo (string) $address->getNextAddress();2
(Cobalah. jika Anda menjelajah ke $range = \IPLib\Range\Subnet::parseString('127.0.0.1/24'); $range = \IPLib\Range\Subnet::parseString('::1/128');_9, browser Anda akan mencoba menjelajah composer require mlocati/ip-lib00) Jika Anda ingin menerima sintaks non-desimal ini, Anda dapat menggunakan flag composer require mlocati/ip-lib01 $address = \IPLib\Address\IPv4::parseString('127.0.0.1');_5 Perlu diketahui bahwa bendera composer require mlocati/ip-lib_02 juga dapat memengaruhi penguraian angka desimal $address = \IPLib\Address\IPv4::parseString('127.0.0.1');_6 Menerima alamat IPv4 dalam notasi not-quad-dottedAlamat IPv4 biasanya dinyatakan dengan 4 angka, misalnya $address = \IPLib\Factory::parseAddressString('::1'); // This will print :: echo (string) $address->getPreviousAddress(); // This will print ::2 echo (string) $address->getNextAddress();2 Omong-omong, GNU (digunakan di banyak distro Linux), BSD (digunakan di Mac) dan implementasi Windows dari $range = \IPLib\Factory::parseRangeString('::ff00/120'); // This will print ::ff00 echo (string) $range->getAddressAtOffset(0); // This will print ::ff10 echo (string) $range->getAddressAtOffset(16); // This will print ::ff64 echo (string) $range->getAddressAtOffset(100); // This will print NULL because the address ::1:0 is out of the range var_dump($range->getAddressAtOffset(256)); // This will print ::ffff echo (string) $range->getAddressAtOffset(-1); // This will print ::fff0 echo (string) $range->getAddressAtOffset(-16); // This will print ::ff00 echo (string) $range->getAddressAtOffset(-256); // This will print NULL because the address ::feff is out of the range var_dump($range->getAddressAtOffset(-257));9 dan $range = \IPLib\Range\Subnet::parseString('127.0.0.1/24'); $range = \IPLib\Range\Subnet::parseString('::1/128');0 Mohon diperhatikan bahwa ini tidak berlaku untuk fungsi $range = \IPLib\Range\Subnet::parseString('127.0.0.1/24'); $range = \IPLib\Range\Subnet::parseString('::1/128');1 dan $range = \IPLib\Range\Subnet::parseString('127.0.0.1/24'); $range = \IPLib\Range\Subnet::parseString('::1/128');2, serta implementasi Musl (digunakan dalam Alpine Linux) dari $range = \IPLib\Factory::parseRangeString('::ff00/120'); // This will print ::ff00 echo (string) $range->getAddressAtOffset(0); // This will print ::ff10 echo (string) $range->getAddressAtOffset(16); // This will print ::ff64 echo (string) $range->getAddressAtOffset(100); // This will print NULL because the address ::1:0 is out of the range var_dump($range->getAddressAtOffset(256)); // This will print ::ffff echo (string) $range->getAddressAtOffset(-1); // This will print ::fff0 echo (string) $range->getAddressAtOffset(-16); // This will print ::ff00 echo (string) $range->getAddressAtOffset(-256); // This will print NULL because the address ::feff is out of the range var_dump($range->getAddressAtOffset(-257));9 dan $range = \IPLib\Range\Subnet::parseString('127.0.0.1/24'); $range = \IPLib\Range\Subnet::parseString('::1/128');0 Jika Anda ingin menerima sintaks non-desimal ini, Anda dapat menggunakan flag composer require mlocati/ip-lib10 $address = \IPLib\Address\IPv4::parseString('127.0.0.1');_7 Menerima notasi subnet IPv4 yang ringkasBahkan jika tidak ada RFC yang menjelaskannya, notasi subnet IPv4 juga dapat ditulis dalam bentuk yang ringkas, menghilangkan digit tambahan (misalnya, composer require mlocati/ip-lib11 dapat ditulis sebagai composer require mlocati/ip-lib12). Jika Anda ingin menerima format seperti itu, Anda dapat menentukan bendera composer require mlocati/ip-lib13 $address = \IPLib\Address\IPv4::parseString('127.0.0.1');_8 Menggabungkan beberapa benderaTentu saja, Anda dapat menggunakan lebih dari satu bendera composer require mlocati/ip-lib14 sekaligus $address = \IPLib\Address\IPv4::parseString('127.0.0.1');_9 Variabel Lingkungan GitpodFitur berikut dapat diaktifkan melalui variabel lingkungan yang telah diatur di preferensi Gitpod Anda * Harap perhatikan bahwa menyimpan data sensitif dalam variabel lingkungan pada akhirnya tidak aman tetapi seharusnya OK untuk sebagian besar situasi pengembangan Bagaimana cara mengubah IPv6 ke IPv4 di PHP?$ipv6 = $_SERVER['REMOTE_ADDR']; . ". ". hexdec(substr($ipv6, 2, 2)) .
Bisakah IPv6 diubah menjadi IPv4?Tidak semua alamat IPv6 dapat dikonversi ke IPv4 . Anda hanya dapat mengonversi alamat IPv6 yang diwakili IPv4 yang valid. Alamat ini dapat berupa notasi 6to4 atau notasi yang dipetakan IPv4.
Bagaimana cara memetakan IPv6 ke IPv4?Bagaimana cara memetakan alamat IPv6 yang valid menjadi alamat IPv4 atau notasi 6to4? . Buka Konverter IPv6 ke IPv4 Masukkan alamat IPv6 yang valid. . Klik tombol "Ubah IPv6 ke IPv4". Alat memproses permintaan Anda dan memberi Anda alamat IPv4 yang dikonversi Apakah IPv4 lebih cepat dari IPv6?IPv6 lebih cepat daripada IPv4 di perangkat jaringan karena tidak memiliki terjemahan alamat jaringan (NAT). Menggunakan IPv6 adalah pilihan yang lebih baik untuk orang yang membutuhkan kecepatan tinggi untuk pemrosesan jaringan mereka. |