当前访客身份:游客 [ 登录 | 加入开源中国 ]

代码分享

当前位置:
代码分享 » PHP  » Web编程
mickelfeng

php随机生成国内ip地址

mickelfeng 发布于 2016年08月22日 10时, 1评/1521阅
分享到: 
收藏 +0
0
获得一个国家所有ip段,随机生成国内ip地址的缩水实现。
注意:  $ip_long数组中后5个值在64位系统中可能是错误的(下面代码中  $ip_long 数组的后五个值在32位系统中为负数,64位系统中为正数,前五个值在64位系统中也可能有错误)
32位系统
echo ip2long(“172.16.1.63″);
结果 -1408237249
64位操作系统
echo ip2long(“172.16.1.63″);

所有ip地址网段下载
http://www.ipaddresslocation.org/ip_ranges/get_ranges.php

缩水随机生成国内ip地址
总共有1600多个网段,只取了其中10个确定是国内的网段
使用了2个php函数
ip2long($ip)把ip转为int
long2ip($int_ip)把int转回ip
标签: <无>

代码片段(1) [全屏查看所有代码]

1. [代码][PHP]代码     跳至 [1] [全屏预览]

<?php
function ip()
{
    $ip_long = array(
        array('607649792', '608174079'), // 36.56.0.0-36.63.255.255
        array('1038614528', '1039007743'), // 61.232.0.0-61.237.255.255
        array('1783627776', '1784676351'), // 106.80.0.0-106.95.255.255
        array('2035023872', '2035154943'), // 121.76.0.0-121.77.255.255
        array('2078801920', '2079064063'), // 123.232.0.0-123.235.255.255
        array('-1950089216', '-1948778497'), // 139.196.0.0-139.215.255.255
        array('-1425539072', '-1425014785'), // 171.8.0.0-171.15.255.255
        array('-1236271104', '-1235419137'), // 182.80.0.0-182.92.255.255
        array('-770113536', '-768606209'), // 210.25.0.0-210.47.255.255
        array('-569376768', '-564133889'), // 222.16.0.0-222.95.255.255
        );
    $rand_key = mt_rand(0, 9);
    return $ip = long2ip(mt_rand($ip_long[$rand_key][0], $ip_long[$rand_key][1]));
} 
?>


开源中国-程序员在线工具:Git代码托管 API文档大全(120+) JS在线编辑演示 二维码 更多»

发表评论 回到顶部 网友评论(1)

  • 1楼:mitcns 发表于 2016-12-29 09:18 回复此评论
    没写完啊,亲,就是二维矩阵 + 随机排序咯
开源从代码分享开始 分享代码
mickelfeng的其它代码 全部(129)...