您的位置:首页 > 编程语言 > PHP开发

php读取大文件的方法

2016-03-03 17:25 651 查看
1、使用file 函数直接读取

$starttime = microtime_float();
ini_set('memory_limit','-1');
$file = "testfile.txt";
$data = file($file);
$line = count($data);//总行数
$lastLine = $data[count($data)-1]; //最后一行

echo count($data);
echo $endtime = microtime_float();

function microtime_float(){
list($usec,$sec) = explode(" ",microtime());
return (float($usec) + float($sec))
}


缺点,非常耗时,此方法不推荐使用,因为需要把文件全部载入内存

2、使用fgets函数,一行一行读取

<?php
$file = fopen("testfile.txt","r");
while(!feof($file))
{
echo fgets($file);
}
fclose($file);


3、是spl库函数

<?php
try{
foreach( new SplFileObject('testfile.txt') as $line)
echo $line.'<br />';
}catch (Exception $e){
echo $e->getMessage();
}


另外网上有很多按照块读取文件的,有兴趣的读者可以试试,我试了没成功,好像必须含有换行符“\n”才可以。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: