Lectura secuencial de archivos con PHP

  • 18 de mayo de 2001
  • Valoración:
  • 0 Comentarios
  • Scripts en PHP
Aprende a utilizar la función fgets para leer archivos texto con un ejemplo práctico
Sigamos con nuestro aprendizaje práctico del uso de ficheros en PHP. Ya hemos visto cómo abrir un archivo por medio de la función fopen con un ejemplo práctico de cómo verificar una URL. El paso siguiente es aprender a leer el contenido del archivo, tarea que llevaremos a cabo por medio de la función fgets.

Esta función se encarga de leer línea a línea el contenido de un archivo texto por lo que su utilización ha de ser incluida dentro de una estructura de tipo bucle.

En el ejemplo que os mostramos a continuación nos hemos servido de esta lectura secuencial para localizar dentro del texto una cadena cualquiera a la que, a continuación, le cambiamos el formato para ponerla en negrita por medio de la etiqueta <b>. Esto nos puede resultar útil si llevamos a cabo búsquedas internas en nuestro sitio y queremos resaltar la cadena de búsqueda en el texto de la página encontrada.

Evidentemente, la utilidad de fgets resulta ser mucho más amplia. Podemos emplearla, por ejemplo, con archivos remotos para extraer las etiquetas meta o para muchas otras cosas que se nos puedan ocurrir.

Aquí os proponemos el script:

<?
function negrita($path,$cadena)
{

   //Iniciamos la variable
   $texto = "";
   //Abrimos el archivo en modo lectura
   $fp = fopen($path,"r");
   //Leemos linea por linea el contenido del archivo
   while ($linea= fgets($fp,1024))
   {
      //Sustituimos las ocurrencias de la cadena que buscamos
      $linea = str_replace($cadena,"<b>$cadena</b>",$linea);
      //Anadimos la linea modificada al texto
      $texto .= $linea;
   }
   return $texto;
}
//Definimos el path y la cadena
$path="escribe el camino de acceso a tu archivo";
$cadena = "escribe tu cadena";
//Llamamos la funcion
$texto = negrita ($path,$cadena);
//Mostramos el texto
echo $texto;
?>

Podéis ver el resultado de esta función en una variante del script donde hemos incluido un formulario para recibir el parámetro cadena y que busca las ocurrencias dentro del texto de este mismo articulo:

Introduce la cadena de búsqueda:


El script es utilizado en forma de función para facilitaros su empleo y almacenamiento. Su modo de actuar es el siguiente:

  • Inicializa la variable texto en la cual iremos almacenando las líneas leídas en el bucle.

  • Abre el archivo (local o remoto) en modo lectura por medio de la función fopen.

  • Lee una por una las líneas del archivo hasta una longitud de 1024 caracteres y remplaza las posibles ocurrencias de la cadena de búsqueda por la misma cadena colocada entre las etiquetas <b> y </b> por medio de la función str_replace. El texto, modificado o no, es almacenado en la variable texto.

  • Devolvemos la variable texto como resultado de la función.

El resto de script es simplemente un ejemplo de llamada a la función donde los parámetros path y cadena han de ser especificados.