/*
PHP 读取文件的方式
*/
function getfile1($file,$n=1)
{
$data = array();
$t = '';
$pos = -2;
$size = filesize($file);
$fp = fopen($file,"r");
if(!$fp){
echo '文件打开失败';
exit;
}
while(count($data)
if(abs($pos) >= $size){
break;
}
while($t != "\n"){
fseek($fp,$pos,SEEK_END);
$t = fgetc($fp);
$pos--;
}
$t = '';
$data[] = fgets($fp);
}
return $data;
}
function getFile2($file,$n){
$data = array();
$base = 5;
$pos = -$n;
$fp = fopen($file,"r");
if(!$fp){
echo '文件打开失败';
exit;
}
while(count($data)
$pos = $pos*$n*$base;
fseek($fp,$pos,SEEK_END);
while(!feof($fp)){
$c = fgets($fp);
$data[] = $c;
}
}
krsort($data);
return array_slice($data, 0, 10);
}
$data1 = getfile1('c.log',10);
$data = getfile2('c.log',10);
echo '
';
print_r($data);
print_r($data1);