Cómo crear y leer un archivo en PHP

  • Cómo crear y leer un archivo en PHP

El manejo de archivos en PHP pueden ser una forma tan válida de almacenar información como MySQL. Por ello en este post voy a mostrar cómo crear y leer un archivo en PHP. Esto puede ser muy útil para recuperar cierta información, ya que es más rápido acceder a la información de un archivo de tu disco duro.

Antes de comenzar es importante partir de que el sistema operativo que estemos trabajando es case-sensitive (diferencia minúsculas de mayúsculas). Esto nos ayuda a no tener quebraderos de cabeza a la hora de nombrar los ficheros. Hay sistemas que no son case-sensitive como Windows o Mac pero Linux y Unix sí, por tanto, es mejor partir de que diferencian las mayúsculas, de esa manera si porteas tu trabajo de Windows a un servidor Linux, no tendrás ningún problema.

Verificar que un archivo existe en php

Antes de ponernos a crear y leer un archivo en PHP, es preciso saber si existe para que no de errores. Podemos emplear la función file_exists() que devuelve un true o false:

if (file_exists(«prueba.txt»)) echo «El archivo existe»;

Cómo crear un archivo en PHP

El fichero que queremos leer, prueba.txt, no existe por tanto es preciso crear y escribir unas  líneas en ella. Todo este proceso lo podemos realizar desde PHP.

Si ejecutas este código en tu navegador, y todo ha salido bien, deberías de ver el mensaje de que se ha escrito sin problemas. De lo contrario, puede que ser que tu disco duro esté lleno (no creo) o lo más probable es que no tengas permisos para crear o escribir en el archivo, en ese caso deberías de modificar los atributos del fichero de destino que sería la carpeta donde tengas el código PHP.

Crear y leer archivo en php - Resultado

La secuencia que sigue el código es la siguiente

  1. Siempre se empieza abriendo un archivo con la función fopen().
  2. A continuación, puedes usar otras funciones como fwrite para escribir o fread o fgets para leer.
  3. Finalizar cerrando el archivo.

Cuando abrimos un fichero en PHP es preciso almacenarlo en un recurso para poder acceder a él y manejarlo. Por ello hemos empleado la variable $fh para almacenar el valor devuelto por la función fopen. Con esa variable, pasamos como parámetro a las funciones fwrite o fclose para que puedan realizar acciones sobre el fichero. Si te preguntas que hay dentro de $fh, es un número que PHP usa para referirse a la información interna del fichero.

En caso de algún fallo, fopen devuelve false. Si la condición recibe este valor cerramos el programa (no continúa más)  y  se devuelve un mensaje de error. En un caso real, deberías de redirigir al usuario a una página de error pero, para este ejemplo nos vale así 😉

Habrás notado que hay un segundo parámetro en fopen (w), esto indica que el archivo abierto está para escribir. En caso de no existir el archivo, lo crea. Pero es muy importante que si el archivo ya existe, el parámetro w hace que borre el viejo contenido, aunque no escribas nada.

Parámetros de fopen

Parámetro Acción Descripción
r Lee un fichero desde el principio. Sólo abre el archivo para leer. Sitúa el cursos en el principio del archivo. Devuelve false si el archivo no existe.
r+ Lee el archivo desde el principio y permite la escritura. Abre el archivo para lectura y escritura. Sitúa el puntero al principio del archivo. Devuelve false si el archivo no existe.
w Escribe un archivo y corta su contenido. Se abre sólo para escribir. Sitúa el puntero al prinicpio ydeja el contenido del archivo a nada antes de escribir. Si el archivo no existe, intenta crearlo.
w+ Escribe un archivo desde el principio, corta su contenido, y permite la lectura. Abre un archivo para lectura y escritura. Sitúa el puntero al principio dejando a nada el contenido del archivo. Si el archivo no existe, intenta crearlo.
a Se adjunta al final del archivo. Abierto sólo en escritura, Sitúa el puntero al final del archivo. Si el archivo no existe, intenta crearlo.
a+ Se adjunta al final del archivo y permite lectura. Se abre el archivo para lectura y escritura. Sitúa el puntero al final del archivo. Si el archivo no existe, intenta crearlo.

Cómo leer un archivo en PHP

La manera más sencilla de leer un archivo es obteniendo una línea entera con fgets.

También cabe la posibilidad de leer líneas enteras del archivo e ir concatenando el texto con un bucle while y la función fgets

Función fread()

Si quieres obtener varias líneas o alguna porción de estas, puedes emplear la función fread

Con esta función obtener un número de caracteres del archivo, en este caso 10.

Función file_get_contents()

Si quieres obtener el contenido entero de un archivo de una sola atacada, puedes emplear la función file_get_contents().

Sin embargo,  esta función permite obtener el código HTML de una página. Por ejemplo vamos a probar con Google

Y hasta aquí cómo crear y leer un archivo en PHP, espero que os haya gustado. A seguir picando 🙂