The following (tested) uses PHP sessions and JS setTimeout.
Interesting, but I wonder if I will ever use this effect.
(I was unable to save the $handle as a session variable.)
<?php // z1.php is this file, z1.csv is the data file
session_start();
echo <<<EOD
<body onload="setTimeout('f1();',3000);">
<script type="text/javascript">
function f1() { window.location.replace("z1.php"); }
</script>
EOD;
if (isset($_SESSION['sessrow1st'])) { $row1st = $_SESSION['sessrow1st']; }
else { $row1st = 1; }
$handle = fopen("z1.csv", "r");
if ($handle === false) { exit("open error"); };
echo "<table border='1'>\n";
$rownum = 0;
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
$rownum += 1;
if ($rownum < $row1st) continue;
if ($rownum > $row1st+6) break;
$numcols = count($data);
echo '<tr>';
for ($c=0; $c < $numcols; $c++) {
if(empty($data[$c])) { $value = " "; }
else { $value = $data[$c]; }
echo '<td>'.$value.'</td>'; }
echo "</tr>\n"; }
echo '</table></body>';
if (feof($handle)) { $rownum = 1; }
fclose($handle);
$_SESSION['sessrow1st'] = $rownum;
?>