萌新项目人 2018-02-02 02:10 采纳率: 100%
浏览 830
已采纳

php根据主机端的时间逐行读取txt文本

根据主机端的时间,第一个20秒,php输出显示txt文本的第一行,其他行都不显示
第二个20秒,输出显示txt文本的第二行,第一行和其他行都不显示
第三个20秒,输出显示txt文本的第三行,第一、二行和其他行都不显示
以此类推,所有行数都显示完一遍,重新循环
不知道该如何实现,望代码详解

  • 写回答

3条回答

  • 子幽 2018-02-02 03:09
    关注
     $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;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题