php读取超大文件fseek

Posted 土木系师兄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php读取超大文件fseek相关的知识,希望对你有一定的参考价值。

function readMaxFile($fp , $start = 0)
{
   $tag = "\n";
   $i = 0;
   $content = ‘‘;
   while($i < 20)
   {
       if (feof($fp))
       {
          return 0;
       }
       fseek($fp, $start, SEEK_SET);
       $res = fread($fp, 1);
       $content .= $res;
       if (substr($content, -strlen($tag)) == $tag)
       {
           $i++;
           echo  $i." ->+++这里我插入到数据库+++"."\n";
       }
       $start+=1;

     if (feof($fp))
     {
          return 0;
     }
   }
    sleep(3);
    echo "从位置".$start."开始读取";
   return $start;
}
$fp = fopen("install.log", "r+");


 $re = readMaxFile($fp, 0);
 for($i=0; $i<100; $i++)
 {
     if ($re==0)
     {
           echo ‘a函数返回0了循环结束‘;
           break;
     }
     $re = readMaxFile($fp, $re);
 }
 fclose($fp); 
echo "程序结束";

 

以上是关于php读取超大文件fseek的主要内容,如果未能解决你的问题,请参考以下文章

PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)

老旧话题:PHP 读取超大文件

可以通过 fseek() 读取整个文件到 SEEK_END 并通过 ftell() 获取文件大小吗?

73.fseek与宽字符读取文件

如何用PHPExcel读取超大excel文件

读取文件到字符串pszBuff