Funciones del Sistema de Archivos
PHP Manual

file_put_contents

(PHP 5)

file_put_contentsEscribe una cadena a un archivo

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 archivo.

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

Parámetros

filename

Ruta del archivo 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 archivo 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_archivo, 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 archivo filename ya existe, añade la información al archivo en vez de sobrescribirlo.
LOCK_EX Adquiere un bloqueo exclusivo del archivo 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 archivo, 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
$archivo 
'gente.txt';
// Abre el archivo para obtener el contenido existente
$actual file_get_contents($archivo);
// Añade una nueva persona al archivo
$actual .= "John Smith\n";
// Escribe el contenido al archivo
file_put_contents($archivo$actual);
?>

Ejemplo #2 Usar banderas

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