2014-07-08 4 views
0

코드 조각이있어서 IP 범위를 폭발시킨 다음 완벽하게 작동하는 개별 IP 주소를 출력합니다. 그러나 이제는 개별 IP 주소를 저장하는 방법을 고민하고 있습니다. mysql 데이터베이스에. 여기 IP 범위를 폭발시키고 mysql에 추가하십시오

내가이 같은 코드를 작성하는 시도

$range = "91.216.181.0/24"; 
$addresses = array(); 

@list($ip, $len) = explode('/', $range); 

if (($min = ip2long($ip)) !== false) { 
$max = ($min | (1<<(32-$len))-1); 
for ($i = $min; $i < $max; $i++) 
    $addresses[] = long2ip($i); 
} 

print_r($addresses); 

범위 폭발하는 코드입니다 : 각각의 IP 주소를 나타낼 것이라고 $의 IP를 희망

$ip = print_r{$address); 

을하지만, '아무튼 티.

$result = print_r($addresses, true); 

지금 결과 내가이 시도없고 그래서 확인을

는 전체 배열을 가지고,하지만 난 여전히 개별적으로 분리 할 수있는 방법을 찾아야합니다.

그래서 마침내 문제를 해결할 수있었습니다. 완전한 작업 코드는 아래에 있습니다.

$range = "$ipdata"; 
    $addresses = array(); 

    @list($ip, $len) = explode('/', $range); 

    if (($min = ip2long($ip)) !== false) { 
    $max = ($min | (1<<(32-$len))-1); 
    for ($i = $min; $i < $max; $i++) 
    $addresses[] = long2ip($i); 
    } 

    foreach ($addresses as $tmp) { 
    } 

답변

0

문제를 해결하기 위해 코드를 업데이트했으며, 배열 요소를 개별 문자열로 바꾸는 foreach를 추가했습니다.

관련 문제