代码之家  ›  专栏  ›  技术社区  ›  Alex

如何使用PHP将指针放在流中所需的位置?

  •  0
  • Alex  · 技术社区  · 15 年前

    目前我正在使用PHP通过telnet连接制作数据解析器。 我遇到了问题: 我需要将指针放在流中的某个位置(而不是数据的末尾),但流中不可能使用fseek()函数。 请告诉我,我怎样才能解决这个问题?

    1 回复  |  直到 15 年前
        1
  •  2
  •   Franz    15 年前

    此函数应将流光标移动到所需位置:

    function moveStreamCursorTo(&$fp, $offset)
    {
        for ($i = 0; $i < $offset; $i++)
            fgetc($fp);
    }
    
    // Use like this:
    $curPos = 459;
    $desiredPos = 1345;
    
    moveStreamCursorTo($yourStream, $desiredPos - $curPos);
    

    请测试并报告您的结果。