(PHP 5)
file_put_contents — Escribe una cadena a un fichero
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.
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
(|).
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().
Esta función devuelve el número de bytes que fueron escritos en el fichero, o
FALSE
en caso de error.
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.
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, $persona, FILE_APPEND | LOCK_EX);
?>
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
|
Nota: Esta función es segura binariamente.
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.