Tengo un archivo de texto y dentro de ese archivo de texto, solo hay unas pocas líneas, pero contiene entre 5 y 10 millones de caracteres. Estoy usando file_get_contents pero debido a que lee todo el archivo, el rendimiento se vuelve muy lento y a veces se bloquea al ejecutar. ¿Existe una manera más eficiente de obtener los primeros y últimos 100 caracteres?
intente esto para obtener los primeros 100 caracteres:
$fp = fopen('test.txt', 'r'); $data = fread($fp, 100); echo $data; fclose($fp);y obtener los últimos 100 caracteres:
$fp = fopen('test.txt', 'r'); fseek($fp, -100, SEEK_END); $data = fread($fp, 100); echo $data; fclose($fp);Puede usar fread para especificar la cantidad de bytes que deben leerse del archivo.
Por ejemplo:
$handle = fopen($filename, 'r'); $contents = fread($handle, 100); fclose($handle); echo $contents;Sin embargo, no hay forma de estar seguro de que será una cadena de 100 caracteres. Esto depende de la codificación de caracteres.