2012-04-20 29 views
0

不是將數據存儲在表中,而是將它們存儲在服務器中的日誌文件中。我想創建這些數據的報告。我想連接到服務器,並讓這些文件解析它們並在其上運行查詢,但是我的經理要求我在服務器上編寫腳本,執行查詢計算並返回數據集。在服務器上編寫腳本並將數據傳輸到客戶端環境的最佳方式是什麼?

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

回答

3

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

可有人請說明如何完成上述任務?

這是廣泛的在StackOverflow答案的方法。你需要一些編程技巧來做到這一點,如果你不知道從哪裏開始,那麼你可能沒有他們,應該聘請開發人員爲你做這個。

但步驟應該是:

  1. 創建接受您希望收到
  2. 的腳本解析日誌包含參數的數據表單提交和有組織組裝數據的PHP腳本時尚
  3. 腳本然後輸出的格式是人類友好
-1

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

+0

不知道爲什麼,這是downvoted ...關心解釋爲什麼這種意見是錯誤的?我很好奇你會提出什麼替代方案,以及爲什麼。 – Brad 2012-06-19 20:36:39

0

我會寫一個PHP腳本,就像你說的HTML數據。編寫PHP腳本以標準格式(比如XML或JSON)提供結果。然後,您的客戶端程序將從http://example.com/secure/processLogs.php下載。根據您選擇的客戶端語言,您可以使用多種身份驗證方法(如HTAccess)來保護PHP腳本。一旦你下載了JSON或XML,只需通過一個解析器(僅僅是Google,它就是一角錢)來運行它,而且你可以將結果加載到客戶端。希望這可以幫助。

0

這裏是一個小例子:

// ---- 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 --------- 
相關問題