根据主机端的时间,第一个20秒,php输出显示txt文本的第一行,其他行都不显示
第二个20秒,输出显示txt文本的第二行,第一行和其他行都不显示
第三个20秒,输出显示txt文本的第三行,第一、二行和其他行都不显示
以此类推,所有行数都显示完一遍,重新循环
不知道该如何实现,望代码详解
$file_path = 'xxx.txt'; //文件路径
$line = 0 ; //初始化行数
//打开文件
$fp = fopen($file_path , 'r') or die("open file failure!");
if($fp){
//获取文件的一行内容,注意:需要php5才支持该函数;
while(stream_get_line($fp,8192,"\n")){
$line++;
}
fclose($fp);//关闭文件
}
for($n=0;$n<$line;$n++){
$c = getLine($file_path, $n); // 读取a.txt文件第n行内容
echo $c;
sleep(20);
}
/**
* 获取指定行内容
*
* @param $file 文件路径
* @param $line 行数
* @param $length 指定行返回内容长度
*/
function getLine($file, $line, $length = 4096){
$returnTxt = null; // 初始化返回
$i = 1; // 行数
$handle = @fopen($file, "r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, $length);
if($line == $i) $returnTxt = $buffer;
$i++;
}
fclose($handle);
}
return $returnTxt;
}
可以用JavaScript脚本实现,将文本全部显示在界面上,用定时器控制
应该由前端脚步实现的