Сделал вот так:
Код: Выделить всё
<?php
$output = shell_exec('/sbin/ifconfig');
echo $output."<br><br>";
if (preg_match_all("/inet\ addr\:([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})/", $output, $matches)){
for($i = 0; $i < count($matches[1]); $i++)
echo $matches[1][$i].'<br>';
}
if (preg_match_all("/eth[0-9]|lo|ppp[0-9]+/", $output, $matches)){
for($i = 0; $i < count($matches[0]); $i++)
echo $matches[0][$i].'<br>';
}
?>Ну вот не лежит душа к этому решению, как-то некрасиво получилось. Да и не без проблем: так и не додумался как мне гарантированно получить правильную пару "имя-адрес";
Совсем под вечер голова не работает что-то...
UPD: ха-ха. Надо завязывать на сегодня. Я уже русский с PHP путаю. Вместо точки точку с запятой поставил в конце предложения=))
UPD: да еще один недочет: имена интерфейсов. У меня тут только eth и ppp, а что если у меня еще wlan есть, не говоря о каких-то нестандартных типа ath. Не смог придумать универсального выражения