我现在有一个脚本,看起来像这样,
$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服务器发送事件