Получить красивый ответ snmp xml

134
23 августа 2019, 16:30

Посоветуйте как сделать чтоб было так

<args> 
<oid id="iso.3.6.1.4.1.9.2.1.58.0" type2=192.168.0.1>5</oid> 
<oid id="iso.3.6.1.2.1.1.3.0" type2=192.168.0.1>80</oid> 
<oid id="iso.3.6.1.4.1.9.2.1.2.0" type2=192.168.0.1>power-on</oid> 
<oid id="iso.3.6.1.4.1.9.9.13.1.4.1.3.1004" type2=192.168.0.1>1</oid> 
</args> 
<args> 
<oid id="iso.3.6.1.4.1.9.2.1.58.0" type2=192.168.0.2>21</oid> 
<oid id="iso.3.6.1.2.1.1.3.0" type2=192.168.0.2>57</oid> 
<oid id="iso.3.6.1.4.1.9.2.1.2.0" type2=192.168.0.2>power-on</oid> 
<oid id="iso.3.6.1.4.1.9.9.13.1.4.1.3.1004" type2=192.168.0.2>1</oid> 
</args> 

Пример кода

while($row = sqlsrv_fetch_array($stmt)) 
{ 
$urls=$row["ip"]; 
// echo '<pre>'.$urls ; 
$arrays=array('cpu' =>'.1.3.6.1.4.1.9.2.1.58.0','aptime' =>'.1.3.6.1.2.1.1.3.0','power' =>'.1.3.6.1.4.1.9.2.1.2.0','fan' =>'.1.3.6.1.4.1.9.9.13.1.4.1.3.1004'); 
foreach ($arrays as $key => $value) { 
//set_time_limit(1200); 
$dats= snmp3_real_walk($urls, 'login', 'authNoPriv', 'MD5', 'pass', '', '', $value); 
$str12=array('<args>'); 
foreach($dats as $key6 => $valueer){ 
$a='<oid id='.json_encode($key6).' type2='.$urls.'>'.json_encode($valueer).'</oid>'; 
//echo "$a\n"; 
$str12[]="$a\n"; 
} 
$str12[]='</args>'; 
$aa=implode("",$str12); 
echo "$aa\n"; 
}
}

Ответ

<args><oid id="iso.3.6.1.4.1.9.2.1.58.0" type2=192.168.0.1>"INTEGER: 5"</oid> 
</args> 
<args><oid id="iso.3.6.1.2.1.1.3.0" type2=192.168.0.1>"Timeticks: (694414565) 80 days, 8:55:45.65"</oid> 
</args> 
<args><oid id="iso.3.6.1.4.1.9.2.1.2.0" type2=192.168.0.1>"STRING: \"power-on\""</oid> 
</args> 
<args><oid id="iso.3.6.1.4.1.9.9.13.1.4.1.3.1004" type2=192.168.0.1>"INTEGER: 1"</oid> 
</args> 
<args><oid id="iso.3.6.1.4.1.9.2.1.58.0" type2=192.168.0.2>"INTEGER: 21"</oid> 
</args> 
<args><oid id="iso.3.6.1.2.1.1.3.0" type2=192.168.0.2>"Timeticks: (493399481) 57 days, 2:33:14.81"</oid> 
</args> 
<args><oid id="iso.3.6.1.4.1.9.2.1.2.0" type2=192.168.0.2>"STRING: \"power-on\""</oid> 
</args> 
<args><oid id="iso.3.6.1.4.1.9.9.13.1.4.1.3.1004" type2=192.168.0.2>"INTEGER: 1"</oid> 
</args>
Answer 1
while($row = sqlsrv_fetch_array($stmt))
{
  $urls=$row["ip"];
  // echo '<pre>'.$urls ;
  $arrays=array('cpu' =>'.1.3.6.1.4.1.9.2.1.58.0','aptime' =>'.1.3.6.1.2.1.1.3.0','power' =>'.1.3.6.1.4.1.9.2.1.2.0','fan' =>'.1.3.6.1.4.1.9.9.13.1.4.1.3.1004');
  $str12=array("<args>\n");
  foreach ($arrays as $key => $value) {
    //set_time_limit(1200);
    $dats = snmp3_real_walk($urls, 'login', 'authNoPriv', 'MD5', 'pass', '', '', $value);
    //var_dump($dats);
    foreach($dats as $key6 => $valueer){
      //print_r($valueer);
      if($key == 'aptime') {
        $valueet = (int)explode(')',$valueer)[1];
        //echo $key."=>".$valueer."\n";
        $str12[]='<oid id='.$key6.' type2='.$urls.'>'.$valueet.'</oid>'."\n";
      }
      else {
        //echo $key."=>".$valueer."\n";
        $str12[]='<oid id='.$key6.' type2='.$urls.'>'.$valueer.'</oid>'."\n";
      }
    }
  }
  $str12[]='</args>';
  $aa=implode("",$str12);
  echo "$aa\n";
}
READ ALSO
Как реализовать хлебные крошки PHP MVC?

Как реализовать хлебные крошки PHP MVC?

Как реализовать автоматические "хлебные крошки" в MVC на PHP? На данный момент все работает хорошо, но я заметил, что по моему методу код выполняется,...

121
Функция mail() php

Функция mail() php

Вот код php

109
POST запросы на file_get_contents или fsockopen

POST запросы на file_get_contents или fsockopen

у меня есть сайт на козе, мне нужно к нему через API делать POST запросы, НО из за отсутствия CURL на бесплатном хостинге, я не понимаю как сделать...

110
INSERT or UPDATE mysql, php

INSERT or UPDATE mysql, php

Не знаю как реализовать данную задачу(таблица cron_planning_figure):

107