Forum und email


(PHP 5)

file_put_contents — Write a string to a file


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

This function is identical to calling fopen(), fwrite() and fclose() successively to write data to a file.

If filename does not exist, the file is created. Otherwise, the existing file is overwritten, unless the FILE_APPEND flags is set.



Path to the file where to write the data.


The data to write. Can be either a string, an array or a stream resource (explained above).

If data is a stream resource, the remaining buffer of that stream will be copied to the specified file. This is similar with using stream_copy_to_stream().

You can also specify the data parameter as a single dimension array. This is equivalent to file_put_contents($filename, implode('', $array)).


The value of flags can be any combination of the following flags (with some restrictions), joined with the binary OR (|) operator.

Available flags
Flag Description
FILE_USE_INCLUDE_PATH Search for filename in the include directory. See include_path for more information.
FILE_APPEND If file filename already exists, append the data to the file instead of overwriting it.
LOCK_EX Acquire an exclusive lock on the file while proceeding to the writing.
FILE_TEXT data is written in text mode. If unicode semantics are enabled, the default encoding is UTF-8. You can specify a different encoding by creating a custom context or by using the stream_default_encoding() to change the default. This flag cannot be used with FILE_BINARY. This flag is only available since PHP 6.
FILE_BINARY data will be written in binary mode. This is the default setting and cannot be used with FILE_TEXT. This flag is only available since PHP 6.


A valid context resource created with stream_context_create().


The function returns the amount of bytes that were written to the file, or FALSE on failure.


Version Beskrivelse
5.0.0 Added context support
5.1.0 Added support for LOCK_EX and the ability to pass a stream resource to the data parameter
6.0.0 Added support for the FILE_TEXT and FILE_BINARY flags


Note: Denne funktion er binary-safe.


Du kan bruge en URL som filnavn med denne funktion, hvis fopen wrappers er slået til. Se fopen() for flere detaljer omkring hvordan man udformer filnavnet og List of Supported Protocols/Wrappers for en liste over understøttede URL-protokoller.