(PHP 5)
file_put_contents — Write a string to a file
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.
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.
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. Mutually exclusive with LOCK_EX since appends are atomic and thus there is no reason to lock. |
LOCK_EX | Acquire an exclusive lock on the file while proceeding to the writing. Mutually exclusive with FILE_APPEND. |
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 number of bytes that were written to the file, or FALSE on failure.
Example #1 Simple usage example
<?php
$file = 'people.txt';
// Open the file to get existing content
$current = file_get_contents($file);
// Append a new person to the file
$current .= "John Smith\n";
// Write the contents back to the file
file_put_contents($file, $current);
?>
Example #2 Using flags
<?php
$file = 'people.txt';
// The new person to add to the file
$person = "John Smith\n";
// Write the contents to the file,
// using the FILE_APPEND flag to append the content to the end of the file
// and the LOCK_EX flag to prevent anyone else writing to the file at the same time
file_put_contents($file, $person, FILE_APPEND | LOCK_EX);
?>
버전 | 설명 |
---|---|
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: 이 함수는 바이너리 안전입니다.
fopen 래퍼를 활성화하면, 파일명으로 URL을 사용할 수 있습니다. 파일 이름을 지정하는 방법은 fopen()을, 지원하는 URL 프로토콜 목록은 지원 프로토콜/래퍼 목록를 참고하십시오.