Я хочу взять файл системного журнала 3 на 3 строки

Все, что я хочу, это открыть файл rsyslog с fopen() возьмите первые 3 строки, установите переменную с последней из этих 3 строк. Затем возьмите другие 3 строки e.t.c.

 $path_file = variable_get('$path');
$file = fopen($path_file, 'r');
for($i=0;$i<3;$i++) {
$line = fgets($file);
$line = variable_set($line);
}
fclose($file);

0

Решение

использование file() вместо этого (читает все в виде массива)

Попробуй это:

$file = file('$path');

for($x = 0; $x < count($file); $x = $x + 3)
{
if(isset($file[$x]) && isset($file[$x +1]) && isset($file[$x + 2])
{
//do something with the values.
}
}function readFileStartingAtLineNumber($x)
{
$file = file('$path');

if(isset($file[$x]) && isset($file[$x +1]) && isset($file[$x + 2])
{
//do something with the values.
}
}
0

Другие решения

function getLog($path, $numberOfLines, $lastIndex) {
$file = fopen($path, 'r');
if (!$file) {
print 'error opening file';
}
else {
$data   = '';
$i      = -1;
while(($line = fgets($file)) !== FALSE) {
if(++$i < $lastIndex)       continue;
if($numberOfLines-- == 0)   break;
$data .= $line;
}
fclose($file);
if ($data === '') {
print 'EOF reached without getting data';
}
}
return $i;
}
0

По вопросам рекламы [email protected]