2009/07/01

PHPでファイルの最後の行を表示

タイトルの通り。
がんばってみたけどなんだかうまくいかない感じ。
一応動くけど読み込むファイルによっては答えが返ってこない。
こう考えるとPythonって分かりやすいなぁ~




$pointer = fopen("load.dat","r");
/*
load.dat

3
4
2
6
7
9
2
3
4

*/

$ar = array();

if(flock($pointer,LOCK_SH)){
        while(!feof($pointer)){
                $bu = fgets($pointer);
                echo $bu."
";
                array_push($ar,$bu);
        }
        flock($pointer,LOCK_UN);
}

for($i=0;$i<=count($ar);$i++){
        if($ar[$i] == NULL){
                unset($ar[$i]);
        }
}

$ar2 = array_reverse($ar,FALSE);
print $ar2[0];
//print_r($ar2);

fclose($pointer);
?>