2015-05-04 29 views
0

日誌文件將在記事本格式的值會是這樣11.23445646,56.3456578954 10.23445646,26.3456578954 16.23445646,-46.3456578954 我打算從服務器獲取數據到網站文本框,其中第一個值標記爲斜體,數值將在幾秒後更改,更新後的值將首先顯示。我嘗試了一些PHP的例子,但沒有得到它在下面的文本框中的值,我需要。例如:X = 11.23445646,Y = 56.3456578954,請指引我如何讀取日誌文件直播,是不斷在服務器更新到網頁文本

Longtitude <input id="x" type="number" value = "" onkeyup="updateMarker('x')"> 

Latitude <input id="y" type="number"value = "" onkeyup="updateMarker('y')"> 
+0

您可以使用ajax每x秒讀取一次該文件。 – Daan

+0

如何添加新的更改?添加到文件的結尾還是開頭? –

+0

@達恩我知道一點點的PHP,但阿賈克斯我是新來的..它可能讓你幫我... – mahesh

回答

0

PHP通常不以您期望的方式支持實時連接,您必須通過重複的AJAX請求來模擬它。怎麼樣?例如每秒鐘或每兩秒鐘。

首先您必須使用jQuery庫中的HTML寫一個Ajax:

發送請求的每個第二:

var url = "url_to_you_file"; 
    var textarea_id = "#textarea"; 

setInterval(function(){ 

    $.ajax({ 
    url : "site.com/get-file-logs.php", 
    type : "POST", 
    success : function(data){ 
     $(".textarea").html(data); 

    } 

    }); 
}, 1000); 

然後在PHP文件,你可以寫成這樣:

$file_path = "path_to_your_file"; 
$file_content = file_get_contents($file_path); 
echo $file_content; 

上面的示例獲取文件內容並將其發送回您的瀏覽器。你可能想要以某種方式處理它;然後再改變你的方法。因爲當您嘗試從服務器獲取數據以便被Javascript處理時,您必須始終堅持使用JSON格式。

+0

在這個任何更改中,我必須在您在ajax中給出的代碼中進行更改。像文件名..謝謝男人 – mahesh

+0

更新了答案。文件中的值,現在很清楚。 –

+0

謝謝man @Mostafa Talebi – mahesh

0

PHP並沒有真正的通常當Web瀏覽器(或其他用戶代理)在完成下載頁面之後加載網頁時,執行「實時」頁面更新,然後PHP已經完成並且不能觸及客戶端上已有的內容。

最好的方法是使用JavaScript AJAX調用定期從PHP腳本加載更新的值,然後更新頁面上的值。

或者如果它是一個非常小的頁面(字節大小),你可以讓它自動重新加載整個頁面(使用更新的值),如果這對你來說不是問題。

在任何情況下,每次調用PHP腳本時,它都會以讀取模式打開文件,只從文件開頭讀取最新值並返回。請參閱fread()。或者,也許file_get_contents()file()會更容易,只需閱讀第一行。

AJAX是一個較大的話題,我現在沒有時間來解釋使用JavaScript更新頁面的整個過程。 Google是你的朋友。

相關問題