我有动态文件夹,每2秒就有新文件 我想每2秒检查一下是否有新文件 如果有新文件,请将它们添加到数组
每个文件大小约1米
我开始获取文件,然后开始在文件后读取文件, 我需要在读取文件时更新数组,并且只要浏览器关闭就继续读取和更新
我使用该代码
if ($files = glob('/files/'.$video_id.'*.ts')) {
$files = array_slice($files, -6, 6, true);
foreach ($files as &$file) {
if(!file_exists($file)) {
unset($files[$file]);
asort($files);
reset($files);
}
$fp = @fopen($file, "r");
echo fread($fp, filesize($file));
$newfiles = glob('/files/'.video_id.'*.ts');
$newfiles = array_slice($newfiles, -6, 6, true);
foreach ($newfiles as &$newfile) {
if(!in_array($newfile, $files, true)){
array_push($files, $newfile);
asort($files);
reset($files);
}
}
}
}
答案 0 :(得分:0)
首先你必须明白,当存储在服务器内存中的字符串时,php字符串内部无法刷新php字符串。在某些情况下,你可以在php脚本的顶部使用:
header('Refresh: 2');
但是!即使您从其他文件中包含它,也会刷新整个页面。或者你把它放在一个特定的地方。 header()
用于重新加载或重定向整个页面。这对用户来说很烦人
☼解决方案: ,以避免有一些事情(Ajax)来处理这种情况。示例:
JavaScript and xml | html
)jQuery and xml | html
)✔ - 使用(php script
)来呼叫您的{Ajax
)
............................................... .................................................. .....................
1 - 在您的脚本目录中创建新的PHP文件 并将其命名为示例:(Request.php) 然后在其中添加您的(要重新加载的PHP代码)
2 - 现在在您的索引页面或视频页面“无论”添加此内容:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
然后阅读本文以获得Ajax的完整基本概念: https://en.wikipedia.org/wiki/Ajax_(programming)
另外最简单的方法是throw(JQuery加载):
<script type="text/javascript">
setInterval(function(){
$('#Request').load('Request.php');
}, 2000);
</script>
然后将其添加到您的html区域(您希望代码显示在哪里):
<div id="Request"> your html video container here </div>
我看到你试图拨打一些视频链接以便更改:
> your html video container here <
支持你的项目
重要的是你理解一般的想法。
其他方式我们不能为你做整个家庭工作
需要改变脚本的几件事就是你的脚本。
☼注意:我们在(javascript)中使用的“ 2000 ”值是毫秒的时间,= 2秒,如果你想添加,你可以在下次更改它更多的时间或更少的时间。并记住(1000 = 1秒),并根据自己做的其余数学,享受。