2012-08-28 29 views
0

我現在有一個腳本,看起來像這樣,PHP的DOMDocument - 檢查更新XML文件

$doc = new DOMDocument(); 
$doc->load('sync-img/data.xml'); 

$user1 = $doc->getElementsByTagName("user1")->item(0)->nodeValue; 
$user2 = $doc->getElementsByTagName("user2")->item(0)->nodeValue; 
$user3 = $doc->getElementsByTagName("user3")->item(0)->nodeValue; 
$user4 = $doc->getElementsByTagName("user4")->item(0)->nodeValue; 
$user5 = $doc->getElementsByTagName("user5")->item(0)->nodeValue; 
$user6 = $doc->getElementsByTagName("user6")->item(0)->nodeValue; 

當XML文件中獲取新的數據,希望腳本或頁面刷新。有沒有辦法將部分放入循環中並檢查每隔幾秒是否更新一次,然後強制刷新?

回答

1

是的,你可以。

製作檢查文件散列的PHP腳本。

echo hash_file('md5', 'sync-img/data.xmlt'); 

在你的JavaScript存儲變量:

xmlHash = '<?php echo hash_file('md5', 'sync-img/data.xmlt');?>'; 

比定期檢查是否xmlHash發生了變化:

$(document).ready(function(){ 
    checkHash(); 
}); 

function checkHash() 
{ 
    $.get('/get_xml_hash.php', function(data) { 
     var newHash = data; 
       if(newHash != xmlHash) 
        location.reload(); 
    }); 

    setTimeout("checkHash()",8000); 
} 

或者你可以使用HTML5 Server-Sent Events

+0

你先生是救生員,效果很好。謝謝您的幫助! – Jako