время
|
|
Глава 26 Функции 58
(count($out)!=$num&&$pos!=0);
fclose($fp);
}
return $out;
}
// вспомогательная функция
// читает файл $fp с позиции $pos и максимум $num строк
function _readfile($fp, $pos, $nura) {
fseek($fp, $pos); // позиционируем файл
$imp = array(); // временный массив
while (!feof($fp)) { // читаем файл до конца
$line = chop (fgetsl($fp)); // *!!*
$tmp [} = $line;
}
$j = count($tmp) — $num; // количество лишних строк
if ($pos!=0 && $j = = 0( { // если равно, сколько надо строк,
// чтобы пропустить первую неполную строку, если не хватает строк,
// выводить все
.
Глава 26. Функции работы с файлами 403
if
$j = 0;
$xnum = $num — 1;
} else $xnum = $num -1;
// переписать в выводной массив нужные строки
for ($i =0; $i<$xnum && $j<count ($tmp) ; $i++, $j++)
$out[$i] = $tmp[$j];
return $out;
}
endif; //if (!tail_inc) ?>
Это не лучший на свете алгоритм, но все же работоспособный. Есть два замечания
по поводу этой программы.
* ! * — здесь вычисляется