PHP - RRD rrd_xport() 函式



PHP RRD 的 rrd_xport() 函式用於匯出關於 RRD 檔案的資訊。此資料可以使用使用者空間 PHP 指令碼轉換為 XML,然後恢復為 RRD 資料庫檔案。

語法

以下是 PHP RRD rrd_xport() 函式的語法:

array rrd_xport (array $options)

引數

此函式接受 $options 引數,這是一個選項陣列,用於指定資料來源、時間範圍以及匯出的其他設定。

返回值

rrd_xport() 函式返回一個包含 RRD 資料庫檔案資訊的陣列,或在失敗時返回 FALSE。

PHP 版本

此函式從 PECL rrd 擴充套件的 0.9.0 版本開始可用。

示例 1

首先,我們將向您展示 PHP RRD rrd_xport() 函式從單個 RRD 檔案匯出資料的基本示例。

<?php
   // Define the options array here
   $options = [
   "--start", "-1d", // Last day
   "DEF:myspeed=speed.rrd:speed:AVERAGE",
   "XPORT:myspeed:My Speed"
   ];

   // Execute the rrd_xport function
   $result = rrd_xport($options);
   print_r($result);
?>

輸出

以上程式碼將產生類似於以下的結果:

Array
(
    [0] => XML data...
)

示例 2

在此 PHP 程式碼中,我們將使用 rrd_xport() 函式並從多個 RRD 檔案匯出資料。

<?php
   // Define the options array here
   $options = [
   "--start", "-1d", // Last day
   "DEF:speed1=speed1.rrd:speed:AVERAGE",
   "DEF:speed2=speed2.rrd:speed:AVERAGE",
   "XPORT:speed1:Speed 1",
   "XPORT:speed2:Speed 2"
   ];

   // Execute the rrd_xport function
   $result = rrd_xport($options);
   print_r($result);
?> 

輸出

執行上述程式後,它將生成以下輸出:

Array
(
   [data] => Array
      (
         [0] => Array
            (
               [timestamp] => 1625082000
               [Speed 1] => 13.45
               [Speed 2] => 14.01
            )
         [1] => Array
            (
               [timestamp] => 1625085600
               [Speed 1] => 12.78
               [Speed 2] => 13.67
            )
         // ...
      )
   [meta] => Array
      (
         [start] => 1625078400
         [end] => 1625164800
         [step] => 3600
      )
)

示例 3

此示例演示瞭如何在使用 rrd_xport() 函式時指定自定義時間範圍進行資料匯出。

<?php
   // Define the options array here
   $options = [
   "--start", "1625078400", // Specific start time
   "--end", "1625164800",   // Specific end time
   "DEF:myspeed=speed.rrd:speed:AVERAGE",
   "XPORT:myspeed:My Speed"
   ];

   $result = rrd_xport($options);
   print_r($result);
?> 

輸出

這將建立以下輸出:

Array
(
   [data] => Array
      (
         [0] => Array
            (
               [timestamp] => 1625078400
               [myspeed] => 15.23
            )
         [1] => Array
            (
               [timestamp] => 1625082000
               [myspeed] => 14.87
            )
         // ...
      )
   [meta] => Array
      (
         [start] => 1625078400
         [end] => 1625164800
         [step] => 3600
      )
)

php_function_reference.htm
廣告