Use AJAX. Since the question has a jQuery tag, here is the jQuery solution.
setInterval(function(){
$(".View").load("sitename")
}, 20000)} //Every 20000 miliseconds (20 secs)
However, you will need to know the site name. You could inject it into the code but you would have to make sure you don't get a XSS (Cross-site-scripting) attack.
You should be able to securely pass all the data if you escape quotes and backslashes in the string. This is still quite dangerous, however.
I assume that the site=... shouldn't contain " or \. If so, you should remove these characters before placing them into the HTML.
<div class="View" data-update="<?php echo "http://example.com/livefeed.php?site=" . str_replace("\\", '', str_replace('"', '', $_GET["site"])) . '&num=6">';
echo file_get_contents("http://example.com/livefeed.php?site=" . $_GET["site"] . "&num=6");
?></div>
And then you can do
setInterval(function(){
$(".View").load($(".View").data("update"))
}, 20000)} //Every 20000 miliseconds (20 secs)
What we have done is removed dangerous characters like " and \ and then made an AJAX request. Here is the full code.
<div class="View" data-update="<?php echo "http://example.com/livefeed.php?site=" . str_replace("\\", '', str_replace('"', '', $_GET["site"])) . '&num=6">';
echo file_get_contents("http://example.com/livefeed.php?site=" . $_GET["site"] . "&num=6");
?></div>
<script>
setInterval(function(){
$(".View").load($(".View").data("update"))
}, 20000)} //Every 20000 miliseconds (20 secs)
</script>