PHP:
Escribiendo un archivo de texto

Cómo hacerlo:

PHP soporta nativamente la escritura de archivos a través de funciones como file_put_contents, fopen junto con fwrite, y fclose. Aquí te mostramos cómo utilizarlas:

Escritura Simple con file_put_contents:

Esta función simplifica el proceso de escribir en un archivo al hacer todo en un paso.

$content = "¡Hola, mundo!";
file_put_contents("hola.txt", $content);
// Verifica si el archivo se escribió correctamente
if (file_exists("hola.txt")) {
    echo "¡Archivo creado con éxito!";
} else {
    echo "Falló al crear el archivo.";
}

Escritura Avanzada con fopen, fwrite, y fclose:

Para tener más control sobre la escritura de archivos, como añadir texto o más manejo de errores, usa fopen con fwrite.

$file = fopen("hola.txt", "a"); // modo 'a' para añadir, 'w' para escribir
if ($file) {
    fwrite($file, "\nAñadiendo más contenido.");
    fclose($file);
    echo "¡Contenido añadido con éxito!";
} else {
    echo "Falló al abrir el archivo.";
}

Leyendo el Archivo para Salida:

Para verificar nuestro contenido:

echo file_get_contents("hola.txt");

Salida de Ejemplo:

¡Hola, mundo!
Añadiendo más contenido.

Usando Bibliotecas de Terceros:

Para operaciones de archivos más complejas, se pueden utilizar bibliotecas como League\Flysystem para una capa de abstracción sobre el sistema de archivos, pero las funciones integradas de PHP a menudo son suficientes para tareas básicas de escritura de archivos. Aquí tienes un breve ejemplo si decides explorar Flysystem:

require 'vendor/autoload.php';
use League\Flysystem\Filesystem;
use League\Flysystem\Local\LocalFilesystemAdapter;

$adapter = new LocalFilesystemAdapter(__DIR__);
$filesystem = new Filesystem($adapter);

$filesystem->write('hola.txt', "Usando Flysystem para escribir esto.");

Este ejemplo supone que has instalado league/flysystem a través de Composer. Las bibliotecas de terceros pueden simplificar mucho el manejo de archivos más complejo, especialmente al trabajar con diferentes sistemas de almacenamiento de manera transparente.