不是將數據存儲在表中,而是將它們存儲在服務器中的日誌文件中。我想創建這些數據的報告。我想連接到服務器,並讓這些文件解析它們並在其上運行查詢,但是我的經理要求我在服務器上編寫腳本,執行查詢計算並返回數據集。在服務器上編寫腳本並將數據傳輸到客戶端環境的最佳方式是什麼?
我該如何做到這一點。我是在服務器上編寫腳本的新手。 我可以在服務器上編寫PHP腳本嗎?有人可以解釋如何完成上述任務嗎?
不是將數據存儲在表中,而是將它們存儲在服務器中的日誌文件中。我想創建這些數據的報告。我想連接到服務器,並讓這些文件解析它們並在其上運行查詢,但是我的經理要求我在服務器上編寫腳本,執行查詢計算並返回數據集。在服務器上編寫腳本並將數據傳輸到客戶端環境的最佳方式是什麼?
我該如何做到這一點。我是在服務器上編寫腳本的新手。 我可以在服務器上編寫PHP腳本嗎?有人可以解釋如何完成上述任務嗎?
我可以在服務器上編寫PHP腳本嗎?
是
可有人請說明如何完成上述任務?
這是廣泛的在StackOverflow答案的方法。你需要一些編程技巧來做到這一點,如果你不知道從哪裏開始,那麼你可能沒有他們,應該聘請開發人員爲你做這個。
但步驟應該是:
編寫解析這些文件並將它們加載到數據庫中的腳本,以便您可以高效地運行查詢。不要重新發明輪子。
我會寫一個PHP腳本,就像你說的HTML數據。編寫PHP腳本以標準格式(比如XML或JSON)提供結果。然後,您的客戶端程序將從http://example.com/secure/processLogs.php下載。根據您選擇的客戶端語言,您可以使用多種身份驗證方法(如HTAccess)來保護PHP腳本。一旦你下載了JSON或XML,只需通過一個解析器(僅僅是Google,它就是一角錢)來運行它,而且你可以將結果加載到客戶端。希望這可以幫助。
這裏是一個小例子:
// ---- 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 ---------
不知道爲什麼,這是downvoted ...關心解釋爲什麼這種意見是錯誤的?我很好奇你會提出什麼替代方案,以及爲什麼。 – Brad 2012-06-19 20:36:39