ip2location / ip2location-csv-converter
此PHP脚本将IP2Location CSV数据库转换为IP范围或CIDR格式。
1.2.7
2023-11-10 05:48 UTC
Requires
- ext-bcmath: *
- mlocati/ip-lib: ^1
README
注意:为了更高效和快速的转换过程,我们建议使用IP2Location Python CSV Converter
此PHP脚本将包含以数值表示的IP地址的IP2Location CSV数据文件转换为点分十进制表示法(如x.x.x.x)或CIDR表示法(x.x.x.x/24)。它支持IP2Location商业版,DB1到DB24数据库,以及免费版,IP2Location LITE数据库。此外,此转换器还可以用于将包含IP号码(数值表示)的任何CSV文件进行转换。
您可以从以下链接下载IP2Location CSV文件
IP2Location商业数据库
IP2Location LITE数据库
请勿使用此脚本转换IP2Location BIN数据文件。它仅支持CSV格式,不支持二进制格式。
安装
请使用composer安装此脚本。
composer require ip2location/ip2location-csv-converter
之后,请将PHP脚本复制到composer的根目录(包含composer.json和composer.lock文件的文件夹)
cp ./vendor/ip2location/ip2location-csv-converter/ip2location-csv-converter.php ./
使用方法
php ip2location-csv-converter.php [-range | -cidr] [-replace | -append] INPUT_FILE OUTPUT_FILE
参数
示例
示例输入
"17170432","17301503","IN","India"
"17301504","17367039","CN","China"
"17367040","17432575","MY","Malaysia"
"17432576","17435135","CN","China"
"17435136","17435391","AU","Australia"
"17435392","17465343","CN","China"
"17465344","17498111","TH","Thailand"
"17498112","17563647","KR","Korea, Republic of"
"17563648","17825791","CN","China"
"17825792","17842175","KR","Korea, Republic of"
使用替换选项转换为范围
命令
php ip2location-csv-converter.php -range -replace IP2LOCATION-DB1.CSV IP2LOCATION-DB1.NEW.CSV
输出
"1.6.0.0","1.7.255.255","IN","India"
"1.8.0.0","1.8.255.255","CN","China"
"1.9.0.0","1.9.255.255","MY","Malaysia"
"1.10.0.0","1.10.9.255","CN","China"
"1.10.10.0","1.10.10.255","AU","Australia"
"1.10.11.0","1.10.127.255","CN","China"
"1.10.128.0","1.10.255.255","TH","Thailand"
"1.11.0.0","1.11.255.255","KR","Korea, Republic of"
"1.12.0.0","1.15.255.255","CN","China"
"1.16.0.0","1.16.63.255","KR","Korea, Republic of"
使用替换选项转换为CIDR
命令
php ip2location-csv-converter.php -cidr -replace IP2LOCATION-DB1.CSV IP2LOCATION-DB1.NEW.CSV
输出
"1.6.0.0/15","IN","India"
"1.8.0.0/16","CN","China"
"1.9.0.0/16","MY","Malaysia"
"1.10.0.0/21","CN","China"
"1.10.8.0/23","CN","China"
"1.10.10.0/24","AU","Australia"
"1.10.11.0/24","CN","China"
"1.10.12.0/22","CN","China"
"1.10.16.0/20","CN","China"
"1.10.32.0/19","CN","China"
使用替换选项转换为十六进制
命令
php ip2location-csv-converter.php -hex -replace IP2LOCATION-DB1.CSV IP2LOCATION-DB1.NEW.CSV
输出
"0000000001060000","000000000107ffff","IN","India"
"0000000001080000","000000000108ffff","CN","China"
"0000000001090000","000000000109ffff","MY","Malaysia"
"00000000010a0000","00000000010a09ff","CN","China"
"00000000010a0a00","00000000010a0aff","AU","Australia"
"00000000010a0b00","00000000010a7fff","CN","China"
"00000000010a8000","00000000010affff","TH","Thailand"
"00000000010b0000","00000000010bffff","KR","Korea, Republic of"
"00000000010c0000","00000000010fffff","CN","China"
"0000000001100000","0000000001103fff","KR","Korea, Republic of"
使用附加选项转换为范围
命令
php ip2location-csv-converter.php -range -append IP2LOCATION-DB1.CSV IP2LOCATION-DB1.NEW.CSV
输出
"17170432","17301503","1.6.0.0","1.7.255.255","IN","India"
"17301504","17367039","1.8.0.0","1.8.255.255","CN","China"
"17367040","17432575","1.9.0.0","1.9.255.255","MY","Malaysia"
"17432576","17435135","1.10.0.0","1.10.9.255","CN","China"
"17435136","17435391","1.10.10.0","1.10.10.255","AU","Australia"
"17435392","17465343","1.10.11.0","1.10.127.255","CN","China"
"17465344","17498111","1.10.128.0","1.10.255.255","TH","Thailand"
"17498112","17563647","1.11.0.0","1.11.255.255","KR","Korea, Republic of"
"17563648","17825791","1.12.0.0","1.15.255.255","CN","China"
"17825792","17842175","1.16.0.0","1.16.63.255","KR","Korea, Republic of"
使用附加选项转换为CIDR
命令
php ip2location-csv-converter.php -cidr -append IP2LOCATION-DB1.CSV IP2LOCATION-DB1.NEW.CSV
输出
"17170432","17301503","1.6.0.0/15","IN","India"
"17301504","17367039","1.8.0.0/16","CN","China"
"17367040","17432575","1.9.0.0/16","MY","Malaysia"
"17432576","17435135","1.10.0.0/21","CN","China"
"17432576","17435135","1.10.8.0/23","CN","China"
"17435136","17435391","1.10.10.0/24","AU","Australia"
"17435392","17465343","1.10.11.0/24","CN","China"
"17435392","17465343","1.10.12.0/22","CN","China"
"17435392","17465343","1.10.16.0/20","CN","China"
"17435392","17465343","1.10.32.0/19","CN","China"
"17435392","17465343","1.10.64.0/18","CN","China"
"17465344","17498111","1.10.128.0/17","TH","Thailand"
"17498112","17563647","1.11.0.0/16","KR","Korea, Republic of"
"17563648","17825791","1.12.0.0/14","CN","China"
"17825792","17842175","1.16.0.0/18","KR","Korea, Republic of"
自定义输入文件
如果输入是CSV格式,并且第一和第二字段包含以数值格式表示的“ip from”和“ip to”信息,则可以使用此转换器进行自定义输入文件。