PHP DOMDocument-检查更新的XML文件


PHP DOMDocument - Check for Updated XML File

我现在有一个脚本,看起来像这样,

$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文件获得新数据时,它希望刷新脚本或页面。有没有一种方法可以将$doc->load()部分放入循环中,检查它是否每隔几秒钟更新一次,然后强制刷新?

可以。

制作一个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服务器发送事件