diff --git a/libs/network.php b/libs/network.php index e486fc5..20b5a3a 100644 --- a/libs/network.php +++ b/libs/network.php @@ -1,25 +1,40 @@ 'N.A', 'ip' => 'N.A'); } else { - exec('/sbin/ifconfig | awk \'/inet / {print $2}\' | cut -d \':\' -f2', $getIps); + foreach ($getInterfaces as $name) + { + $ip = null; + exec($ifconfig.' '.$name.' | awk \'/inet / {print $2}\' | cut -d \':\' -f2', $ip); - foreach ($getInterfaces as $key => $interface) + if (!isset($ip[0])) + $ip[0] = ''; + + $network[] = array( + 'name' => $name, + 'ip' => $ip[0], + ); + } + + foreach ($network as $interface) { // Get transmit and receive datas by interface - exec('cat /sys/class/net/'.$interface.'/statistics/tx_bytes', $getBandwidth_tx); - exec('cat /sys/class/net/'.$interface.'/statistics/rx_bytes', $getBandwidth_rx); + exec('cat /sys/class/net/'.$interface['name'].'/statistics/tx_bytes', $getBandwidth_tx); + exec('cat /sys/class/net/'.$interface['name'].'/statistics/rx_bytes', $getBandwidth_rx); $datas[] = array( - 'interface' => $interface, - 'ip' => $getIps[$key], + 'interface' => $interface['name'], + 'ip' => $interface['ip'], 'transmit' => Misc::getSize($getBandwidth_tx[0]), 'receive' => Misc::getSize($getBandwidth_rx[0]), );