I don't think that there is a function that can do it for you.
You can write your own, but to be honest with you, it won't be efficient.
Instead of counting lines, I would suggest that you open file and read out of this file first 300 or less lines.
$limit=300;
$fp=fopen("file.txt", "r");
$content=fread($fp, filesize("file.txt"));
$content=explode("\n", $content);
$num=count($content);
if($num>$limit)
$num=$limit;
for($i=0; $i<$num; $i++)
echo "$content[$i]<BR>";
Another questions of yours is how to indicate for a marker to jump to the next 300 or so lines.
In this case you have to know exact number of lines, because you'll have to create dynamic link that'll have variable that will tell php script where to start and where to finish.
It is not complicated to do so, but it is my opinion, that to do that is wasteful in regard to computer resources. I would suggest that you figure out a different way. If you have 1200 line article you'll have to open file 4 times, explode() the file (which in itself requires long time) 4 times, counting array 4 times, and etc.
I am not a big fan of storing data in mysql tables, but in your case it will be better.
Di