Funciones del Sistema de Archivos
PHP Manual

file_put_contents

(PHP 5)

file_put_contentsEscribe una cadena a un fichero

Descripción

int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )

Esta función es idéntica que llamar a fopen(), fwrite() y fclose() sucesivamente para escribir información en un fichero.

Si filename no existe, se crea el fichero. De otro modo, el fichero existente se sobrescribe, a menos que la bandera FILE_APPEND esté establecida.

Parámetros

filename

Ruta del fichero donde se escribe la información

data

La información a escribir. Puede ser tanto un recurso string, como array o stream.

Si data es un recurso stream, el buffer restante de ese flujo será copiado al fichero especificado. Esto es similar a usar stream_copy_to_stream().

También se puede especificar el parámetro data como un array de una sóla dimensión. Esto es equivalente a file_put_contents($nombre_fichero, implode('', $array)).

flags

El valor de flags puede ser cualquier combinación de las siguientes banderas, unidas con el operador binario OR (|).

Banderas disponibles
Bandera Descripción
FILE_USE_INCLUDE_PATH Busca filename en el directorio incluido. Véase include_path para más información.
FILE_APPEND Si el fichero filename ya existe, añade la información al fichero en vez de sobrescribirlo.
LOCK_EX Adquiere un bloqueo exclusivo del fichero mientras se está ejecutando la escritura.

context

Un recurso de contexto válido creado con stream_context_create().

Valores devueltos

Esta función devuelve el número de bytes que fueron escritos en el fichero, o FALSE en caso de error.

Advertencia

Esta función puede devolver el valor booleano FALSE, pero también puede devolver un valor no booleano que se evalúa como FALSE. Por favor lea la sección sobre Booleanos para más información. Use el operador === para comprobar el valor devuelto por esta función.

Ejemplos

Ejemplo #1 Ejemplo sencillo de uso

<?php
$fichero 
'gente.txt';
// Abre el fichero para obtener el contenido existente
$actual file_get_contents($fichero);
// Añade una nueva persona al fichero
$actual .= "John Smith\n";
// Escribe el contenido al fichero
file_put_contents($fichero$actual);
?>

Ejemplo #2 Usar banderas

<?php
$fichero 
'gente.txt';
// La nueva persona a añdir al fichero
$persona "John Smith\n";
// Escribir los contenidos en el fichero,
// usando la bandera FILE_APPEND para añadir el contenido al final del fichero
// y la bandera LOCK_EX para evitar que cualquiera escriba en el fichero al mismo tiempo
file_put_contents($fichero$personaFILE_APPEND LOCK_EX);
?>

Historial de cambios

Versión Descripción
5.0.0 Añadido el soporte de contexto
5.1.0 Añadido el soporte para LOCK_EX y la capacidad de pasar un recurso tipo stream al parámetro data

Notas

Nota: Esta función es segura binariamente.

Sugerencia

Se puede usar una dirección URL como nombre de archivo con esta función si los fopen wrappers han sido activados. Consulte fopen() para más información de como especificar el nombre de fichero. Consulte Protocolos y Envolturas soportados para ver enlaces con información sobre las diferentes habilidades que los wrappers tienen, notas de uso e información de cualquier variables predefinidas que pueden usarse.

Ver también


Funciones del Sistema de Archivos
PHP Manual