Mailinglisten-Archive |
Hi,
On Fri, Dec 22, 2006 at 06:16:57PM +0100, Daniel Lüdeking wrote:
> na gut, anders: "Google half mir bei der Suche nach einer
> zuverlässigen Methode in PHP nicht weiter." :-)
hmm,
wieso tun sich viele mit solchen Kleinigkeiten so schwer?
<?php
function is_local($ipnr) {
$AA = explode('.', $ipnr);
return (($ipnr == '127.0.0.1')||
($AA[0] == '10')||
(($AA[0] == '169')&&($AA[1] == '254'))||
(($AA[0] == '172')&&(($AA[1] >= '16')&&($AA[1] <= '31')))||
(($AA[0] == '192')&&($AA[1] == '168'))) ? true : false;
}
$IPs = array(
'127.0.0.0',
'127.0.0.1',
'127.0.0.2',
'9.111.233.125',
'10.33.115.227',
'11.115.227.39',
'169.253.11.11',
'169.254.33.99',
'169.255.55.77',
'172.11.133.55',
'172.16.11.155',
'172.22.11.133',
'172.31.111.77',
'172.33.55.177',
'192.167.11.33',
'192.168.55.77',
'192.169.11.99');
foreach($IPs as $ipnbr) {
echo sprintf('% 15s', $ipnbr).' - '.is_local($ipnbr)."\n";
}
?>
ergibt:
----------------------------------
127.0.0.0 -
127.0.0.1 - 1
127.0.0.2 -
9.111.233.125 -
10.33.115.227 - 1
11.115.227.39 -
169.253.11.11 -
169.254.33.99 - 1
169.255.55.77 -
172.11.133.55 -
172.16.11.155 - 1
172.22.11.133 - 1
172.31.111.77 - 1
172.33.55.177 -
192.167.11.33 -
192.168.55.77 - 1
192.169.11.99 -
----------------------------------
Laufzeit: 0,719 ms - PHP 5.1.4
allseits ein "Frohes Fest" ...
m. b. G. Norbert
-------------------
Notruf 0177-1741686
-------------------
e.o.m.
php::bar PHP Wiki - Listenarchive