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
file_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
$res = file_put_contents('data.txt', 'abcde');
echo $res;
?>
El resultado de ejecutar el código devuelve el número de bytes escritos:
5
Ejemplo
Añadamos datos al final del archivo:
<?php
$res = file_put_contents('data.txt', '12345', FILE_APPEND);
echo $res;
?>
Ejemplo
Escritura de un array en un archivo:
<?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
$res = file_put_contents(
'log.txt',
"text",
FILE_APPEND | LOCK_EX
);
echo $res;
?>
Ejemplo
Uso de contexto:
<?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