file_put_contents 함수
(PHP 5, PHP 7, PHP 8)
file_put_contents — 파일에 데이터 쓰기
설명
file_put_contents( string $filename, mixed $data, int $flags = 0, ?resource $context = null ): int|false
이 함수는 fopen(), fwrite(), fclose()를 연속적으로 호출하여 파일에 데이터를 쓰는 것과 동일합니다.
filename
이 없으면 파일이 생성됩니다. 그렇지 않으면 FILE_APPEND
플래그가 설정되지 않는 한 기존 파일을 덮어씁니다.
매개변수
filename
- 데이터를 쓸 파일의 경로입니다.
data
-
쓸 데이터입니다. 문자열, 배열 또는 스트림 리소스가 될 수 있습니다.
데이터가 스트림 리소스인 경우 해당 스트림의 나머지 버퍼가 지정된 파일에 복사됩니다. 이것은 stream_copy_to_stream()을 사용하는 것과 유사합니다.
data
매개변수를 1차원 배열로 지정할 수도 있습니다. 이것은 file_put_contents($filename, implode('', $array))와 동일합니다. flags
flags
값은 이진 OR(|) 연산자와 결합된 다음 플래그의 조합일 수 있습니다.사용 가능한 플래그
Flag 설명 FILE_USE_INCLUDE_PATH 포함 디렉토리에서 filename
을 검색하십시오. 자세한 내용은 include_path를 참조하십시오.FILE_APPEND filename
이 이미 있는 경우 덮어쓰는 대신 파일에 데이터를 추가합니다.LOCK_EX 쓰기를 진행하면서 파일에 대한 배타적 잠금을 획득합니다. 즉, fopen() 호출과 fwrite() 호출 사이에 flock() 호출이 발생합니다. 이것은 "x" 모드를 사용한 fopen() 호출과 동일하지 않습니다. context
- stream_context_create()로 생성된 유효한 컨텍스트 리소스.
반환 값
이 함수는 파일에 기록된 바이트 수를 반환하거나 실패 시 false
를 반환합니다.
경고 이 함수는 부울 false
을 반환할 수 있지만 거짓으로 평가되는 부울이 아닌 값을 반환할 수도 있습니다. 자세한 내용은 부울 섹션을 참조하세요. 이 함수의 반환 값을 테스트하려면 === 연산자를 사용하십시오.
Examples
예제 #1 간단한 사용 예
<?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);
?>
예제 #2 플래그 사용
<?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);
?>
메모
참고: 이 함수는 binary-safe입니다.
팁: fopen 래퍼가 활성화된 경우 URL을 이 함수와 함께 파일 이름으로 사용할 수 있습니다. 파일 이름을 지정하는 방법에 대한 자세한 내용은 fopen()을 참조하십시오. 다양한 래퍼의 기능, 사용법에 대한 참고 사항, 제공할 수 있는 미리 정의된 변수에 대한 정보에 대한 링크는 지원되는 프로토콜 및 래퍼를 참조하세요.
기타
- fopen() - 파일 또는 URL을 엽니다.
- fwrite() - 바이너리 안전 파일 쓰기
- file_get_contents() - 전체 파일을 문자열로 읽습니다.
- stream_context_create() - 스트림 컨텍스트에서 생성됨