Función file_put_contents

La función file_put_contents escribe datos en un archivo. El primer parámetro es la ruta al archivo, el segundo son los datos a escribir. El tercer parámetro opcional define el modo de escritura (ver tabla abajo).

El cuarto parámetro opcional representa un recurso de contexto de flujo, creado por la función stream_context_create. Permite configurar parámetros para trabajar con el archivo o con un recurso de red.

Sintaxis

phpfile_put_contents(
  string $filename,
  mixed $data,
  int $flags = 0,
  ?resource $context = null
): int|false

Valores del tercer parámetro

Bandera Descripción
FILE_USE_INCLUDE_PATH Si está establecida, la función buscará el archivo en los directorios especificados en el parámetro include_path en la configuración de PHP en el archivo php.ini.
FILE_APPEND Añadir datos al final del archivo en lugar de sobrescribirlo
LOCK_EX Obtener un bloqueo exclusivo del archivo durante la escritura

Ejemplo

Escribamos una cadena en un archivo:

php<?php
  $res = file_put_contents('data.txt', 'abcde');
  echo $res;
?>

El resultado de ejecutar el código devuelve el número de bytes escritos:

php5

Ejemplo

Añadamos datos al final del archivo:

php<?php
  $res = file_put_contents('data.txt', '12345', FILE_APPEND);
  echo $res;
?>

Ejemplo

Escritura de un array en un archivo:

php<?php
  $data = ['a', 'b', 'c'];
  $res = file_put_contents('array.txt', implode(',', $data));
  echo $res;
?>

Ejemplo

En el tercer parámetro se pueden especificar varias banderas, enumerándolas mediante el símbolo |. Como ejemplo, añadamos datos con bloqueo del archivo:

php<?php
  $res = file_put_contents(
    'log.txt',
    "text",
    FILE_APPEND | LOCK_EX
  );
  echo $res;
?>

Ejemplo

Uso de contexto:

php<?php
  $opts = [
    'http' => [
      'method' => "POST",
      'header' => "Content-type: text/plain\r\n"
    ]
  ];
  
  $context = stream_context_create($opts);
  
  $res = file_put_contents(
    'http://example.com/api',
    'data=test',
    false,
    $context
  );
?>

Véase también

  • la función file_get_contents,
    que lee el contenido de un archivo
  • la función fopen,
    que abre un archivo
  • la función fwrite,
    que escribe en un archivo