PHP - 从文本文件末尾读取
我有一个用逗号分隔的值的文本文件。PHP - 从文本文件末尾读取
例子:
1299491735618,10,84,10,121.6,10,120.0,12994917389996,12, 13, 14, 15, and so on ..
现在,我仅需要读取数据的最后一个“设置”,即只能从12994917389996,12, 13, 14, 15, and so on ...
在这种情况下,我想12994917389996
大于130个其他值小于130.所以,我需要读取FROM 12994917389996
到文件末尾...
希望你懂了!
编辑1:不,它是一个动态的文本文件,不断更新,我只需要每次只读取最后一组数据!
编辑2:MY代码
<?php
$file = fopen('graph.txt', 'r') or die("can't open file");
if ($file) {
while (!feof($file)) {
$line = trim(fgets($file));
if (strlen($line)) {
$fields = explode(",", $line);
$num = count($fields);
for ($i = 0; $i < $num; $i++) {
$keyval[$i] = $fields[$i];
if ($i == 0) {
$keyval['x'][] = $fields[$i];
echo $keyval['x'][0];
}
else {
if ($i % 2 == 0) $keyval['y'][] = $fields[$i];
else $keyval['y1'][] = $fields[$i];
}
}
}
}
}
fclose($file);
?>
在这里,我使用$ KEYVAL [X] []存储[]存储交替巨XXXXXXXXXXXXX值和KEYVAL [Y]和KEYVAL [Y1] []值后大巨人(xxxxxxxxxxxxx)价值....这应该澄清一切!
对不起,我不知道我得到它...你想从第一个数字中除第一个数字以外的所有数字都大于130?男人,这很复杂:D
这个怎么样?
$str = "1299491735618,10,84,10,121.6,10,120.0,12994917389996,12,13,14,15,16,17";
$arr = explode(',', $str);
$i = 1;
while ($i < count($arr) && floatval($arr[$i]) < 130)
$i++;
print_r(array_slice($arr, $i));
输出:
Array
(
[0] => 12994917389996
[1] => 12
[2] => 13
[3] => 14
[4] => 15
[5] => 16
[6] => 17
)
希望这会有所帮助。
$ echo '1299491735618,10,84,10,121.6,10,120.0,12994917389996,12, 13, 14, 15' > file
$ php -a
php > $fp = fopen('/path/to/file', 'r');
php > fseek($fp, 38);
php > echo fgets($fp);
12994917389996,12, 13, 14, 15
如果不是,您可以更具体地了解存储在文件中的数据结构吗?
嗨文件就像我提到的... 1299491735618,10,84,10,121.6,10,120.0(依此类推......),12994917389996,12,13,14,15等等。我只需要阅读最后一组数据! – Zac 2011-04-18 03:27:41
您的数据结构是否定义良好?我的意思是,你可以说你需要最后30个字节的文件或这个数字可能会有所不同吗?它会始终是XXXXXXXXXX,XX,XX.X,XX,XX还是您的数据结构可能与此模式不同?通过不读取整个文件,可以节省一些处理器时间和内存。在这种情况下,你只需打开它,寻找最后30个字节,阅读并关闭你的文件(我上面提供的方法)。你可以从最后得到文件大小减去30个字节并寻找这个数字(第二个fseek函数参数) – Nemoden 2011-04-18 03:35:28
你说得对,但是这个文件是动态的,值不断追加到它......我需要的只是读取最后一组数据。 ..唯一的结构我可以辨别的是,.. xxxxxxxxxxx值肯定大于130,其他值小于130 .. si我需要从文件的END读取,TILL的值大于130。 ..所以,输出就像你提到的..它需要动态 – Zac 2011-04-18 03:45:51
重点是我需要从文件的结尾读取...不是从第一个! – Zac 2011-04-18 03:30:05