mikrotik ルーターに接続し、そこからトラフィック統計を読み取るスクリプトがあります。
これが私のコードです:
$y = 0;
foreach ($ARRAYD as $d) {
$nodename=$ARRAYD[$y]['target'];
//$nodename=trim($nodename);
$nodename=substr($nodename,7,-1);//
//$nodename=rtrim($nodename, "-1");
$traff_bytes=$ARRAYD[$y]['bytes'];
$byte_values = preg_split('/\//',$traff_bytes);
if ($debug==0) {
$fr = fopen($myfile.$nodename,"w");
fwrite($fr,$nodename." ");
fwrite($fr,time()." ");
fwrite($fr,$byte_values[0]." ");
fwrite($fr,$byte_values[1]."");
fclose($fr);
$y++;
}
}
API 応答は
、このビットが最初の 7 文字と最後の 1 文字を削除することで、次のよう<pppoe-0404>
に出力を返します。$nodename
$nodename=substr($nodename,7,-1);
0404
この問題は、cpe の再起動があり$nodename
、0404-1
. -1
表示された場合、最後から削除するにはどうすればよいですか?
試してみ$nodename=rtrim($nodename, "-1");
ましたが、 で終わるすべてのノード1
で名前の最後の桁が失われます。どちらが間違った出力0401
になるでしょう。040