Listado completo de tutoriales

Temario del Tutorial16 - Lectura de un archivo de texto.


Para la lectura de un archivo de texto contamos con la función fgets. Además debemos abrir el archivo para lectura.

La apertura para leer:

  $ar=fopen("datos.txt","r") or
    die("No se pudo abrir el archivo");

Para leer:

    $linea=fgets($ar);

Veamos como mostrar por pantalla el contenido del archivo "datos.txt" creado en el punto anterior:

<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
  $ar=fopen("datos.txt","r") or
    die("No se pudo abrir el archivo");
  while (!feof($ar))
  {
    $linea=fgets($ar);
    $lineasalto=nl2br($linea);
    echo $lineasalto;
  }
  fclose($ar);
  ?>
</body>
</html>

Lo primero que debemos identificar es la forma de apertura del archivo:

  $ar=fopen("datos.txt","r") or
  die("No se pudo abrir el archivo");

El segundo parámetro de fopen es "r" es decir read (apertura para lectura), si el archivo no existe por ejemplo se ejecuta la función die que finaliza el programa mostrando el string correspondiente.

La función feof retorna true si se ha llegado al final del archivo en caso contrario retorna false. Para que se impriman todas las líneas del archivo se plantea una estructura repetitiva que se ejecuta mientras no se llegue al final de archivo (el operador lógico not en PHP es el caracter !):

  while (!feof($ar))

Dentro de la estructura repetitiva leemos una línea completa del archivo de texto con la función fgets:

  $linea=fgets($ar);

La variable $linea contiene una línea completa del archivo de texto, inclusive el salto de línea (\n)

Como el navegador no hace un salto de línea con este caracter, debemos convertir dicho caracter al elemento <br> propia de HTML. La función que realiza esta actividad se llama nl2br (new line to br)

El resultado se almacena en una nueva variable que es la que realmente imprimimos:

  $lineasalto=nl2br($linea);
  echo $lineasalto;


Problema resuelto.

Copiar el contenido de este cuadro de texto al NotePad++ y grabarlo en la carpeta c:\wamp\www con un nombre con extensión php (si hay varios cuadros de texto grabar cada uno en un archivo distinto).
luego abrir el navegador (Chrome, FireFox, IExplorer etc.) y en la barra de direcciones tipear: http://localhost/pagina1.php (o el nombre del archivo que le dió)

pagina1.php

Ejecutar ejemplo

Problema propuesto.

Confeccionar un programa que muestre el archivo de pedido de pizzas via internet del punto anterior.

Recordemos que creamos el archivo de texto llamado pedidos.txt (grabar la página php en el mismo directorio donde se encuentra el archivo pedidos.txt)

Solución
pagina1.php

Ejecutar ejemplo

Retornar