0

我目前有一个看起来像这样的脚本,

$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()部分放入循环并检查它是否每隔几秒钟更新一次,然后强制刷新?

4

1 回答 1

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 服务器发送事件

于 2012-08-28T14:26:49.220 回答