2013-07-14 43 views
0

我有一個存儲一個字符串的文本文件。我預計文本文件會經常更改,爲了讓我的頁面保持最新狀態,我希望使用PHP(最好)每20秒從文本文件中獲取數據,以便將其分解爲數組相應地使用內容。變量也需要每20秒更新一次。每20秒檢查文本文件並獲取內容

所以:在頁面加載時,內容被提取並顯示。但是文本文件的內容可能會改變,從而導致頁面過期,而用戶可能已經打開它。

我試過了META刷新,但整個頁面在瀏覽過程中刷新並中斷用戶。

對不起,描述混亂,很難解釋。 :)

我在網上搜索了很久,沒有找到我的問題的答案。請記住我正在使用文本文件而不是MySQL,因爲我只存儲一個字符串。

在此先感謝。

回答

2

如果你想留在PHP,恐怕清涼HTML元是解決方案:

<meta http-equiv="refresh" content="10; url=http://example.com/" /> 

刷新頁面每隔X秒,從而使文件被重新加載。 另一種方式可能是幀的使用,但我不能認真推薦給你。

但是,您可以使用Ajax在不重新加載整個頁面的情況下加載內容。它允許你執行一個HTTP請求到服務器(使用Javascript代碼),並將結果放在當前頁面上,同樣使用Javascript。您可以創建一個PHP腳本「my_string_parsed.php」,它讀取該文件,然後解析/打印其內容。然後,您可以通過Ajax請求將此腳本調用至http://yoursite.com/my_string_parsed.php,並將其結果放置在頁面上的指定HTML標記中。

W3Schools.com提供了一個Ajax教程這裏:http://www.w3schools.com/ajax/

關於阿賈克斯雖然警告:一個Ajax內容加載必須從未更換典型的HTTP行爲,您的瀏覽器和服務器都有。如果文件中的字符串是您網頁上的唯一內容,那麼最好的解決方案就是刷新元。 Ajax只能用於刷新頁面的某些部分。從來沒有整個事情。

+0

謝謝你的優秀迴應。最佳答案。 :) – Joel

0

爲什麼不使用數據庫而不是文件。你也可以使用jQuery來平滑地更新頁面。

+0

我正在使用一個文本文件,因爲我只需要存儲一個字符串,並且通常對我來說更容易集成。 :) – Joel