mmmm probablemente sea mas "optimo" guardar los items en un arreglo y luego trabajar con ellos, te dejo un ejemplo...
Código PHP:
Ver original$pag = isset($_GET['pag']) ?
$_GET['pag'] : 1; $numItem = 0;
$numItemStart = ($pag - 1) * 20; //20 es el numero de items o lineas con las que trabajaremos...
$numItemsEnds = $numItemsStart + 20;
$archivo = fopen('archivo.txt','r'); while (!feof($archivo)) { $linea = fgets($archivo); if ($numItem > $numItemStart && $numItem <= $numItemEnds) {
$items[] = $linea;
}else if ($numItem > $numItemsEnds) {
break;
}
}
//ahora trabajamos con los items...
foreach($items as $item) {
echo $n, " -> ", trim(substr($linea, -17, 13)), "<br>"; }
aunque sinceramente no se que tanta diferencia va a ver, el problema te repito es el recorrer el archivo original hasta llegar al item (linea) correspondiente...
PD: me quede intrigado y he hecho pruebas, y por lo que veo trabaja muy bien, generé un archivo con 60,000 lineas y en bloques de 20 items (lineas) trabaja muy bien, obtener items dentro del rango 15000 al 15020 solo tarda 0.0314 microsegundos...