Vaya al Contenido

PHP Escribir Archivos - SuperHispano

Saltar menú
SuperHispano
+34 012 345 678
info@example.com
España 03:19:18 sábado 07/02/26
Saltar menú
Saltar menú
Saltar menú
Taller > PHP > Manejo de archivos

Escribir Archivos en PHP Usando fwrite() y fputs()


En PHP, escribir datos en un archivo es una tarea esencial para muchas aplicaciones. PHP proporciona dos funciones principales para realizar estas operaciones: fputs() y fwrite(). Ambas permiten escribir datos en archivos abiertos en diferentes modos, ya sea para sobrescribir contenido o agregar más datos.

Modos de apertura de archivos para escribir


Antes de poder escribir datos en un archivo, primero debemos abrirlo en un modo que permita la escritura. Los modos más comunes son:

Modos abrir archivos en PHP
Modo Descripción
w Abre el archivo solo para escritura. Si el archivo ya existe, se sobrescribirá. Si no existe, se creará.
a Abre el archivo para añadir datos. Si no existe, se crea.
r+ Abre el archivo para lectura y escritura. El puntero se coloca al inicio.
w+ Abre el archivo para lectura y escritura. Si el archivo ya existe, se sobrescribe.
wb+ Abre el archivo en modo binario para lectura y escritura. Si no existe, se crea.


La función fputs()


La función fputs() escribe una cadena de texto en un archivo que ha sido abierto en un modo que permite la escritura. También puede escribir un número limitado de bytes si se especifica.

Sintaxis:


fputs(resource $stream, string $string, int $length): int|false

$stream: Un puntero al archivo abierto.
$string: La cadena de texto que se va a escribir.
$length (opcional): Número máximo de bytes a escribir.

Ejemplo 1: Escribir texto en un archivo


El siguiente código muestra cómo escribir texto en un archivo utilizando fputs().

<?php
$archivo = fopen("saludo.txt", "w");

if ($archivo) {
$bytes = fputs($archivo, "Hola Mundo\n");
echo "Bytes escritos: $bytes";
fclose($archivo);
} else {
echo "No se pudo abrir el archivo.";
}
?>


Explicación:

fputs($archivo, "Hola Mundo\n"): Escribe “Hola Mundo” seguido de un salto de línea en el archivo.
fclose($archivo): Cierra el archivo después de escribir los datos.

Ejemplo 2: Agregar texto a un archivo existente


Si necesitas agregar texto a un archivo existente sin sobrescribir el contenido, puedes abrirlo en modo de adición (a).

<?php
$archivo = fopen("saludo.txt", "a");

if ($archivo) {
$bytes = fputs($archivo, "Hola PHP");
echo "Bytes escritos: $bytes";
fclose($archivo);
} else {
echo "No se pudo abrir el archivo.";
}
?>


Explicación:


fputs($archivo, "Hola PHP"): Añade la cadena “Hola PHP” al final del archivo sin borrar el contenido existente.

Ejemplo 3: Copiar el contenido de un archivo a otro


El siguiente ejemplo muestra cómo copiar el contenido de un archivo en otro usando fputs() para escribir línea por línea.

<?php
$archivo_origen = fopen("origen.txt", "r");
$archivo_destino = fopen("destino.txt", "w");

if ($archivo_origen && $archivo_destino) {
while (!feof($archivo_origen)) {
$linea = fgets($archivo_origen);
fputs($archivo_destino, $linea);
}
fclose($archivo_origen);
fclose($archivo_destino);
echo "Archivo copiado exitosamente.";
} else {
echo "No se pudo abrir uno de los archivos.";
}
?>


Explicación:


fgets($archivo_origen): Lee cada línea del archivo de origen.
fputs($archivo_destino, $linea): Escribe cada línea leída en el archivo de destino.

La función fwrite()


La función fwrite() es similar a fputs(), pero se utiliza más comúnmente para operaciones de escritura que requieren manejo de datos binarios o especificar un número preciso de bytes a escribir.

Sintaxis:


fwrite(resource $stream, string $data, ?int $length = null): int|false

$stream: Un puntero al archivo.
$data: Los datos a escribir.
$length (opcional): El número de bytes a escribir.

Ejemplo 1: Escribir en un archivo usando fwrite()


<?php
$archivo = fopen("datos.txt", "w");

if ($archivo) {
$bytes = fwrite($archivo, "Aprendiendo PHP es divertido!");
echo "Bytes escritos: $bytes";
fclose($archivo);
} else {
echo "No se pudo abrir el archivo.";
}
?>


Explicación:


fwrite($archivo, "Aprendiendo PHP es divertido!"): Escribe la cadena especificada en el archivo.

Ejemplo 2: Escribir un archivo binario


La función fwrite() también se puede utilizar para copiar archivos binarios, como imágenes.

<?php
$archivo_origen = fopen("imagen.png", "rb");
$archivo_destino = fopen("copia.png", "wb");

if ($archivo_origen && $archivo_destino) {
$tamano = filesize("imagen.png");
$contenido = fread($archivo_origen, $tamano);
fwrite($archivo_destino, $contenido);
fclose($archivo_origen);
fclose($archivo_destino);
echo "Archivo binario copiado exitosamente.";
} else {
echo "No se pudo abrir uno de los archivos.";
} ?>


Explicación:


fopen("imagen.png", "rb"): Abre el archivo binario en modo de lectura.
fwrite($archivo_destino, $contenido): Escribe el contenido binario en el archivo de destino.

Cierre de archivos


Es importante siempre cerrar los archivos después de realizar operaciones de lectura o escritura. Utiliza fclose() para liberar los recursos del sistema y evitar problemas de rendimiento.

Conclusión


PHP ofrece funciones eficientes para escribir datos en archivos, como fputs() y fwrite(). Estas funciones te permiten escribir tanto texto como datos binarios, dependiendo de tus necesidades.
Además, es fundamental abrir los archivos en los modos correctos y cerrarlos adecuadamente para asegurar que los datos se guarden correctamente y se liberen los recursos del sistema.
+34 012 345 678
+34 012 345 678 (fax)
example@superhispano.com
Creado con WebSite X5
Regreso al contenido
Icono de la aplicación
SuperHispano Instale esta aplicación en su pantalla de inicio para una mejor experiencia
Toque Botón de instalación en iOS y luego "Agregar a su pantalla"