php手动实现ip2long和long2ip
php手动实现ip2long和long2ip /** * 测试 */ public function testipAction() { $ip = '10.58.101.175'; echo ip2long($ip); echo "<br>"; echo $this->myip2long($ip); echo "<br>"; echo long2ip('171599279'); echo "<br>"; echo $this->mylong2ip('171599279'); } /** * 自己实现ip2long * @param $ip * @return float|int|string */ protected function myip2long($ip) { $newhex = ''; // 将ip分割成数组 $ipsArr = explode('.', $ip); foreach ($ipsArr as $key => $value) { // 十进制最大值是255,如果超过,则直接返回 if ($value > 255) { return ''; } // 将十进制转化为十六进制 $hex = dechex($value); // 每个ip最大是255,十六进制是FF,最大是两位 // 比如ip:1.1.1.1如果不补0,则十六进制是1111,十进制是4369 //