> Manuales > Gestión de archivos en PHP

Lectura de archivos de texto con PHP. Realizamos la apertura de un archivo de texto del servidor y recorremos su contenido realizando modificaciones sobre el texto, usando las funciones fopen y fgets de PHP.

Sigamos con nuestro aprendizaje práctico del uso de ficheros en el manual de gestión del sistema de archivos con 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. Realizaremos una práctica para que quede bien claro.

Ejemplo de lectura de un archivo con PHP

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:

<?php
function negrita($path, $cadena)
{
  //Iniciamos la variable
  $text = '';
  //Abrimos el archivo en modo lectura
  $file = fopen($path, 'r');
  if($file) {
    //Leemos linea por linea el contenido del archivo
    while ($linea = fgets($file, 1024)) {
      //Sustituimos las ocurrencias de la cadena que buscamos
      $linea = str_replace($cadena, "<b>$cadena</b>", $linea);
      //Anadimos la linea modificada al texto
      $text .= $linea;
    }
    return $text;
  }
  return '';
}

//Definimos el path y la cadena a buscar
$path = './texto/lorem.html';
$cadena = 'lorem';
//Llamamos la funcion
$texto = negrita($path, $cadena);
//Mostramos el texto
echo $texto;
?>

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

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.

Rubén Alvarez

Rubén es doctor en química y programador aficionado con experiencia en PHP.

Manual