Advertisement
  1. Code
  2. PHP
Code

Cómo crear, escribir, leer y eliminar archivos en PHP

by
Difficulty:BeginnerLength:MediumLanguages:

Spanish (Español) translation by Ana Paulina Figueroa Vazquez (you can also view the original English article)

En este tutorial, vamos a aprender sobre el manejo de archivos en PHP. Te mostraré cómo crear, leer, escribir y eliminar archivos en PHP usando las funciones integradas para el manejo de archivos.

El manejo de archivos es algo que necesitarás hacer muy frecuentemente como desarrollador de PHP.

Puedes usar las funciones de manejo de archivos en PHP para manipular archivos de diferentes maneras. Estas funciones podrían ser usadas para crear herramientas en tus aplicaciones, que van desde el registro personalizado de errores hasta el almacenamiento de archivos en caché. Los siguientes son ejemplos de herramientas de utilidad que puedes crear con estas funciones:

  • Herramientas personalizadas de registro y depuración
  • Almacenamiento de la configuración de una aplicación
  • Almacenamiento en caché en el front-end y en la aplicación
  • Soporte para la localización
  • Y muchas más

PHP proporciona varias funciones para el manejo de archivos que te permiten llevar a cabo diversas operaciones, como:

  • Crear y abrir un archivo
  • Escribir en un archivo
  • Leer desde un archivo
  • Eliminar un archivo
  • Cerrar un archivo

Hoy revisaremos todas y cada una de las operaciones con archivos, junto con ejemplos de cómo usarlas. Te animo a que pruebes los ejemplos de este tutorial mientras sigue los pasos, para que verdaderamente puedas aprender y entender cómo funcionan. Y si algo no te funciona como se esperaba, siéntete libre de publicar tus preguntas usando el canal al final de este tutorial.

Cómo crear y abrir un archivo

En esta sección veremos cómo crear y abrir un archivo.

Cuando se trata de crear un archivo, la función fopen es la que usarás la mayor parte del tiempo. Puede parecer un poco confuso usar la función fopen para crear un archivo. De hecho, la función fopen hace dos cosas: crea un archivo si no existe y también lo abre para lectura o escritura.

Revisemos el siguiente ejemplo para comprender cómo funciona.

En el ejemplo anterior, la función fopen verificará si el archivo /home/tutsplus/files/tmp.txt existe, y si existe, lo abrirá para escritura. Al proporcionar 'w' en el segundo argumento, especificamos que vamos a escribir en el archivo. Si el archivo no existe, este será creado de inmediato. Aquí es importante destacar que el usuario del servidor web debe tener permisos de escritura para el directorio /home/tutsplus/files/ del ejemplo anterior, con el fin de que la función fopen pueda crear un archivo.

El primer argumento de la función fopen es el nombre del archivo que quieras abrir. En el ejemplo anterior, hemos proporcionado el nombre de archivo /home/tutsplus/files/tmp.txt en el primer argumento. Nuevamente, es importante observar que hemos proporcionado un nombre de ruta absoluto.

El segundo argumento es el modo, que especifica el tipo de acceso que necesitas para el archivo abierto. La función fopen proporciona diferentes modos de entre los que puedes elegir. Por ejemplo:

  • Usa el modo r para abrir un archivo para su lectura
  • El modo r+ para lectura y escritura
  • El modo a para lectura y para anexar

En nuestro ejemplo, hemos usado el modo w, que abre el archivo /home/tutsplus/files/tmp.txt solamente para escritura. Siéntete libre de revisar la documentación oficial para ver los diferentes modos compatibles con la función fopen.

fopen devuelve un puntero del sistema de archivos, que se usa para las otras funciones de archivo como leer y escribir.

¿Cómo puedo abrir archivos remotos?

La función fopen no es solo para archivos locales. También es compatible con otros protocolos y puede abrir archivos desde cualquier otro lugar de tu red o de la web. Si has habilitado la directiva allow_url_fopen en PHP, también puedes abrir archivos remotos.

Es realmente importante destacar que cuando habilitas la directiva allow_url_fopen, estás creando algunos riesgos de seguridad, ya que abre la puerta a la ejecución remota de archivos y otros ataques. Por lo tanto, asegúrate de tomar medidas de seguridad adicionales en tu aplicación si vas a habilitar esta directiva.

Cómo escribir en un archivo con PHP

Hay un par de formas diferentes en las que puedes escribir en un archivo con PHP.

La función fwrite

En primer lugar tenemos a la función fwrite, que te permite escribir el contenido de una cadena en el flujo de archivo al que hace referencia el identificador del archivo. Revisemos el siguiente ejemplo para comprender cómo funciona.

En primer lugar, hemos abierto el archivo /home/tutsplus/files/tmp.txt con el modo a+, que lo abre para lectura y escritura, con el puntero del archivo colocado al final de este último. Por lo tanto, nuestro contenido será anexado al final del archivo, después de cualquier otro contenido. A continuación, hemos usado la función fwrite para escribir una cadena.

El primer argumento de la función fwrite es el puntero del sistema de archivos devuelto por fopen: así es como fwrite sabe en dónde escribir. Y el segundo argumento es una cadena que queremos escribir en un archivo. Como puedes ver en el ejemplo anterior, puedes usar la función fwrite varias veces para escribir una serie de cadenas antes de cerrar el archivo.

Finalmente, hemos usado la función fclose para cerrar el archivo. Solamente recibe un argumento, el puntero del archivo que quieres cerrar. Siempre es una práctica recomendada cerrar los archivos usando la función fclose una vez que hayas terminado con tus operaciones sobre ellos.

La función file_put_contents: un atajo de PHP para escribir en archivos

En la sección anterior discutimos la función fwrite, que se usa para escribir en un archivo. Probablemente hayas notado que, si quieres escribir en un archivo, necesitas abrirlo con la función fopen en primer lugar. Después de eso, necesitas usar la función fwrite para escribir tus datos en un archivo, y finalmente necesitas usar la función fclose para cerrar el archivo.

Si eso te parece demasiado, existe un atajo: file_put_contents. La función file_put_contents te permite escribir datos en un archivo en una sola llamada.

Veamos cómo funciona.

El primer argumento de la función file_put_contents es un nombre de archivo, y el segundo argumento es una cadena, que es la que deseas escribir en un archivo. Si el archivo no existe, este será creado.

Como puedes ver, la función file_put_contents es un atajo para cuando solamente quieres escribir un fragmento de información en un archivo.

Cómo leer de un archivo en PHP

Ahora ya sabes cómo crear un archivo y escribir en él. En esta sección te mostraré como leer de un archivo.

La función fread

La función fread te permite leer de un archivo. Es similar a fwrite, pero necesitas proporcionar la longitud en bytes que quieras leer.

Echemos un vistazo al siguiente ejemplo para comprender cómo funciona.

Ya que queremos leer del archivo /home/tutsplus/files/tmp.txt, lo hemos abierto con el modo r. A continuación, hemos usado la función fread para leer todo el contenido del archivo en la variable $content.

El primer argumento de la función fread es el puntero del sistema de archivos, para que sepa de dónde leer. El segundo argumento es la longitud en bytes que deseas leer de un archivo. En nuestro caso, queremos leer todo el contenido del archivo /home/tutsplus/files/tmp.txt, y por lo tanto hemos usado la función filesize para medir el tamaño del archivo.

La función file_get_contents: un atajo de PHP para leer de archivos

En la sección anterior discutimos la función fread, que te permite leer un archivo especificando la longitud en bytes que quieres leer. Si quieres leer un archivo completo a la vez, existe una función que te permite hacer exactamente eso: file_get_contents.

¡Veamos a la función file_get_contents en acción!

Como puedes ver, es bastante sencillo usar la función file_get_contents: solamente proporciona un nombre de archivo en el primer argumento.

Cómo eliminar un archivo en PHP

En esta última sección veremos cómo puedes eliminar archivos. Para eliminar un archivo en PHP, usa la función unlink. Revisemos un ejemplo para ver cómo funciona.

El primer argumento de la función unlink es un nombre de archivo, que es el archivo que quieres eliminar. La función unlink devuelve ya sea TRUE o FALSE, dependiendo de si la operación de eliminación fue exitosa o no.

Conclusión

En esta publicación discutimos los conceptos básicos del manejo de archivos en PHP. A lo largo del artículo, discutimos diferentes operaciones que puedes llevar a cabo mediante el uso de funciones de archivo en PHP. Si tienes preguntas o sugerencias, ¡siéntete libre de publicarlas usando el canal a continuación!

Aprende PHP con un curso en línea gratuito

Si quieres aprender PHP, ¡consulta nuestro curso en línea gratuito sobre los fundamentos de PHP!

En este curso, aprenderás los fundamentos de la programación en PHP. Comenzarás con los conceptos básicos, aprendiendo cómo funciona PHP y escribiendo bucles y funciones simples en él. Luego avanzarás a la codificación de clases para una simple programación orientada a objetos (POO). En el camino, aprenderás las habilidades más importantes para escribir aplicaciones para la web: tendrás la oportunidad de practicar cómo responder a las solicitudes GET y POST, analizar JSON, autenticar usuarios y usar una base de datos MySQL.


Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.