-2

テキストファイルの最後の行から特定のデータを引き出して、それを単独で表示できるようにしようとしています。たとえば、次のファイルから降雨データを取得したいとします。

#date #time  #blah #rainfall  #blah   #blah
200813 1234   1234    0.5      1234    1234
200813 1235   1234    1.2      1234    1234
200813 1236   1234    3.5      1234    1234
200813 1237   1234    0.2      1234    1234
200813 1238   1234    0.1      1234    1234

そして、Webページでこの方法でデータを使用したい:

現在の予想降水量: 0.1mm

だから私が必要とするのは、最後の行から 0.1 を計算することだけです。ファイルはリモートであり、ファイルの下部に新しい行が追加されるため、必要なのは最後の行だけです。

誰か助けてください、私はこれについて何日も頭を悩ませてきました。

4

3 に答える 3

0

Unix ベースのシステムを使用している場合は、tailコマンドの使用を検討してください。

$file = escapeshellarg($file); 
$line = `tail -n 1 $file`;

以下も機能します。

$fp = fopen('file.txt', 'r');
$pos = -1; $line = ''; $c = '';
do {
    $line = $c . $line;
    fseek($fp, $pos--, SEEK_END);
    $c = fgetc($fp);
} while ($c != PHP_EOL);

echo $line; //last line

fclose($fp); 

hereで述べたように、これはファイル全体をメモリにロードせず、高速です。

お役に立てれば!

于 2013-08-20T16:56:17.720 に答える