簡體   English   中英

在服務器上編寫腳本並將數據傳輸到客戶端環境的最佳方法是什么?

[英]what best way to write scripts on server and transfer data to client environment?

我們將數據存儲在服務器的日志文件中,而不是將數據存儲在表中。 我想創建有關這些數據的報告。 我想連接到服務器並獲取這些文件解析它們並對它們運行查詢但我的經理讓我在服務器上編寫腳本來執行查詢計算並返回數據集。

我怎樣才能做到這一點。 我是在服務器上編寫腳本的新手。 我可以在服務器上編寫PHP腳本嗎? 有人可以解釋一下如何完成上述任務嗎?

我可以在服務器上編寫PHP腳本嗎?

有人可以解釋一下如何完成上述任務嗎?

這是在StackOverflow的答案中做廣泛的方法。 你需要一些編程技巧才能做到這一點,如果你不確定從哪里開始那么你可能沒有它們,應聘請開發人員為你做這件事。

但步驟將是:

  1. 創建一個PHP腳本,該腳本接受包含您希望接收的數據的參數的表單提交
  2. 該腳本解析日志並以有組織的方式組裝數據
  3. 然后,腳本以人類友好的格式以HTML格式輸出該數據

我會把它寫成PHP腳本,就像你說的那樣。 編寫PHP腳本以標准格式(例如XML或JSON)提供結果。 然后,您的客戶端程序只需從http://example.com/secure/processLogs.php下載即可。 根據您選擇的客戶端語言,您可以使用多種身份驗證方法(如HTAccess)來保護PHP腳本。 一旦你下載了JSON或XML,只需通過一個解析器運行它(只需谷歌就可以了,它們只需要一毛錢),然后你可以將結果加載到客戶端。 希望這可以幫助。

這是一個小例子:

// ---- begin of client.php ---
//
// client sending request to server responding with JSON
//
<?php
function connectToServer($server_url,$post_data) {
    $ch = curl_init($server_url);
    if ($ch == FALSE) return false;
    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
    curl_setopt($ch, CURLOPT_FORBID_REUSE, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Connection: Close'));
    $res = curl_exec($ch);
    if (curl_errno($ch) != 0) {
        $errstr = curl_error($ch);
        curl_close($ch);
        return false; 
    } else {
        curl_getinfo($ch, CURLINFO_HEADER_OUT);
        curl_close($ch);
        return json_decode($res);
    }
}

// sending data to server, to be processed there and waiting data from it:
foreach(connectToServer("http://192.168.0.1/server.php",
    array("my"=>"data")) as $key=>$val) {
    printf("%s, %s\n",$key,$val);
 }
?>
// ---- end of client.php ---

// ---- begin of server.php ---------
<?php
if(isset($_POST["my"])){
    $my = $_POST["my"];
    header("Content-type: application/json");
    echo json_encode(array("hi"=>"there","my_is"=>$my));
}
?>
// ---- end of server.php ---------

編寫一個腳本來解析這些文件並將它們加載到數據庫中,以便您可以有效地運行查詢。 不要重新發明輪子。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM