Estoy trabajando en la lectura de un archivo en php. Necesito leer líneas específicas del archivo.Leyendo línea específica de un archivo en PHP
que utiliza este código:
fseek($file_handle,$start);
while (!feof($file_handle))
{
///Get and read the line of the file pointed at.
$line = fgets($file_handle);
$lineArray .= $line."LINE_SEPARATOR";
processLine($lineArray, $linecount, $logger, $xmlReply);
$counter++;
}
fclose($file_handle);
Sin embargo, me di cuenta de que el fseek()
toma el número de bytes y no el número de línea.
¿Tiene PHP otra función que basa su puntero en números de línea?
¿O tengo que leer el archivo desde el principio siempre, y tener un contador hasta que se lea el número de línea deseado?
Estoy buscando un algoritmo eficiente, caminar más de 500-1000 Kb para llegar a la línea deseada parece ineficiente.
gracias @JRL pero la búsqueda se basa en bytes? y no en el número de línea? – tinks
gracias @JRL creo que es lo que necesito :) – tinks
Usar splfileobject no no da la funcionalidad que da fopen. ¿Hay alguna manera fácil de convertir este objeto en un recurso fopen? – Madmenyo