Используя PHP API для Mikrotik Router OS, мы напишем скрипт, который будет выводить данные из Mikrotik Routerboard о PPP пользователях.
Рис.1. Mikrotik Routerboard список PPP пользователей.
Пишем код.
<?php
Подключаемся к устройству Mikrotik Routerboard:
$conn = RouterOS::connect("192.168.4.253", "ubnt", "ubnt");
Извлекаем данные из раздела /ppp/secret и заносим их в переменную $ppp:
$ppp = $conn->getall("/ppp/secret");
Выводим $ppp на экран:
print_r($ppp);
?>
Рис.2. Массив данных.
В результате работы скрипта мы получили массив данных о PPP пользователях.
Добавим в скрипт цикл foreach. В данном цикле будет происходить поэлементный перебор массива $ppp. Данные будут присваиваться переменной $x.
foreach ($ppp as $x)
{
Вывод на экран $x:
print_r($x);
Перевод строки:
print "<br /><br />";
}
Рис.3. Результат работы цикла foreach.
Выводим данные в таблице.
Шапка таблицы:
<table>
<tr bgcolor='#fee3ad' border='1'>
<td >Логин</td>
<td>Пароль</td>
<td>service</td>
<td>local-address</td>
<td>remote-address</td>
</tr>
<?php
foreach ($ppp as $x)
{
Выводим в таблице элементы из массива $x:
echo "<tr>";
echo "<td>";
echo $x['name'];
echo "</td>";
echo "<td>";
echo $x['password'];
echo "</td>";
echo "<td>";
echo $x['service'];
echo "</td>";
echo "<td>";
echo $x['local-address'];
echo "</td>";
echo "<td>";
echo $x['remote-address'];
echo "</td>";
echo "</tr>";
}
?>
Рис.4. Список пользователей в таблице.
В результате должен получиться скрипт:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Mikrotik API PHP</title>
<body>
<table>
<tr bgcolor='#fee3ad' border='1'>
<td >Логин</td>
<td>Пароль</td>
<td>service</td>
<td>local-address</td>
<td>remote-address</td>
</tr>
<?php
require('class_api.php');
$conn = RouterOS::connect("192.168.4.253", "ubnt", "ubnt");
$ppp = $conn->getall("/ppp/secret");
foreach ($ppp as $x)
{
echo "<tr>";
echo "<td>";
echo $x['name'];
echo "</td>";
echo "<td>";
echo $x['password'];
echo "</td>";
echo "<td>";
echo $x['service'];
echo "</td>";
echo "<td>";
echo $x['local-address'];
echo "</td>";
echo "<td>";
echo $x['remote-address'];
echo "</td>";
echo "</tr>";
}
?>
</table>
</body>
</html>
Евгений Рудченко специально для ASP24.




