<?PHP
$StartLine = 0;
$nLines = 10;
$title = $_SERVER['SERVER_NAME'];
function ReadLinesFromFile($StartLine, $nLines, $file){
$EndLine=$StartLine+$nLines;
$line = $StartLine;
$news=[];
while ($line < $EndLine ) {
$file->seek($line-1);
$news[]=$file->current();
$line++;
}
return $news;
}
//--------------------------------------
$file = new SplFileObject('enter.txt');
$file->seek(PHP_INT_MAX);
$linesTotal = $file->key()+1;
$LineInPage=10;
$Pages = ceil(($linesTotal)/$LineInPage); $page=isset($_GET['page'])?
$_GET['page']:1;
$StartLine=($page-1)*$LineInPage+1;
$news = ReadLinesFromFile($StartLine, $LineInPage, $file);
{
echo $lines;
}
######################################################
$testContent="http://beautiful-puppies.de/video/2/";
$p = $testContent."poster_g/20210929134906.jpg";
$f = $testContent."20210929134906.mp4";
######################################################
echo <<<HTML
<html>
<head>
<title> $title </title>
<style>
#pageContent{height: 250px}
</style>
</head>
<body>
<!-- Begin test Content --->
<video preload="none" poster="$p" width="30%"
onMouseOver="this.controls=true" >
<source src="$f" type="video/mp4" >
</video>
<hr>
<!-- End test Content --->
<div id="pageContent">$lines</div>
<hr>
<div id="pageSelector">
<span>Страница:</span>
<span></span>
<select></select>
</div>
</body>
<script>
page = '$page';
Pages = '$Pages';
pageContent = document.getElementById("pageContent");
pageSelector = document.getElementById("pageSelector");
span = pageSelector.querySelectorAll("span")[1];
select = pageSelector.querySelectorAll("select")[0];
//------------------------------
setOpt = function(){
optArr=Array.from({length: Pages}, (v, k) => k+1);
optArr.splice(page-1, 1);
select.innerHTML = "";
opt = document.createElement('option');
opt.innerHTML = "выбор";
select.appendChild(opt);
for(i in optArr)
{
opt = document.createElement('option');
opt.innerHTML = optArr[i];
select.appendChild(opt);
}
select.addEventListener("change", function (e){
page=e.target.value;
ViewNews(page, pageContent);
});
span.innerHTML = page;
};
//-----------------------------
ViewNews = function(page,target){
req = new XMLHttpRequest();
url = "?page="+page;
req.open("get", url, true);
req.onreadystatechange = function()
{
if (this.readyState == 4 && this.status == 200)
{
try
{
rsp = this.responseText;
target.innerHTML=rsp;
setOpt();
}
catch (e)
{
err={state:this.readyState,err:e.message,url:url};
console.log(err);
}
};
};
req.send();
};
//------------------------------------------------
if(Pages>1)
setOpt();
else
pageSelector.style.display="none";
//------------------------------------------------
</script>
</html>
HTML;
?>