您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php读取大文件最好的实现方法_PHP教程

2025/3/11 19:22:25发布28次查看
php读取大文件最好的实现方法 php读取大文件方法我们一般是一行行来讲取而不是一次性把文件全部写入内存中了,这样会导致php程序卡死,下面给大家整理一个例子。
 代码如下  
读取大文件最后几行数据: /**  * 取文件最后$n行  * @param string $filename 文件路径  * @param int $n 最后几行  * @return mixed false表示有错误,成功则返回字符串  */ function filelastlines($filename,$n){     if(!$fp=fopen($filename,’r')){         echo ”打开文件失败,请检查文件路径是否正确,路径和文件名不要包含中文”;         return false;     }     $pos=-2;     $eof=”;     $str=”;     while($n>0){         while($eof!=”n”){             if(!fseek($fp,$pos,seek_end)){                 $eof=fgetc($fp);                 $pos–;             }else{                 break;             }         }         $str.=fgets($fp);         $eof=”;         $n–;     }     return $str; }
echo nl2br(filelastlines(‘sss.txt’,4)); /**  * 取文件最后$n行  * @param string $filename 文件路径  * @param int $n 最后几行  * @return mixed false表示有错误,成功则返回字符串  */ function filelastlines($filename,$n){     if(!$fp=fopen($filename,'r')){         echo 打开文件失败,请检查文件路径是否正确,路径和文件名不要包含中文;         return false;     }     $pos=-2;     $eof=;     $str=;     while($n>0){         while($eof!=n){             if(!fseek($fp,$pos,seek_end)){                 $eof=fgetc($fp);                 $pos--;             }else{                 break;             }         }         $str.=fgets($fp);         $eof=;         $n--;     }     return $str; } echo nl2br(filelastlines('sss.txt',4));
function tail($fp,$n,$base=5) { assert($n>0); $pos = $n+1; $lines = array(); while(count($lines) try{ fseek($fp,-$pos,seek_end); } catch (exception $e){ fseek(0); break; } $pos *= $base; while(!feof($fp)){ array_unshift($lines,fgets($fp)); } } return array_slice($lines,0,$n); } var_dump(tail(fopen(access.log,r+),10)); $fp = fopen($file, r); $line = 10; $pos = -2; $t = ; $data = ; while ($line > 0) { while ($t != n) { fseek($fp, $pos, seek_end); $t = fgetc($fp); $pos --; } $t = ; $data .= fgets($fp); $line --; } fclose ($fp); echo $data
http://www.bkjia.com/phpjc/850928.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/850928.htmltecharticlephp读取大文件最好的实现方法 php读取大文件方法我们一般是一行行来讲取而不是一次性把文件全部写入内存中了,这样会导致php程序卡死,...
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product