PHP의 file_put_contents
함수
file_put_contents
함수는 지정한 파일에 데이터를 쓰는데 사용됩니다. 파일에 데이터를 쓸 때 유용하며, 기존 파일의 내용을 덮어쓰거나 새로운 파일을 생성하여 데이터를 쓸 수 있습니다.
file_put_contents
함수의 사용 예시:
$filename = 'example.txt';
$data = 'Hello, world!';
if (file_put_contents($filename, $data) !== false) {
echo "Data written to the file successfully.";
} else {
echo "Error writing data to the file.";
}
다른 함수와 함께 사용하는 예시:
file_get_contents
함수와 함께 사용하기 (파일 읽기와 쓰기):
$filename = 'example.txt';
$content = file_get_contents($filename);
if ($content !== false) {
// 파일 읽기 성공 시 파일에 쓰기
$newContent = strtoupper($content);
file_put_contents('uppercase_example.txt', $newContent);
} else {
echo "Error reading file.";
}
fwrite
함수와 함께 사용하기 (파일에 추가로 쓰기):
$filename = 'example.txt';
$data = 'This is additional content.';
$file = fopen($filename, 'a'); // 'a' 모드로 파일 열기 (기존 내용 끝에 추가)
if ($file !== false) {
fwrite($file, $data);
fclose($file);
echo "Data appended to the file successfully.";
} else {
echo "Error opening file.";
}
조건문과 반복문과 함께 사용하는 예시:
$filenames = ['file1.txt', 'file2.txt', 'file3.txt'];
$data = 'Sample data';
foreach ($filenames as $filename) {
if (file_put_contents($filename, $data) !== false) {
echo "Data written to $filename successfully." . PHP_EOL;
} else {
echo "Error writing data to $filename." . PHP_EOL;
}
}
성능 향상을 위한 팁:
-
file_put_contents
함수를 사용할 때는 가능하면 한 번에 모든 데이터를 쓰는 것이 좋습니다. 반복문 안에서 여러 번 호출하게 되면 파일을 여러 번 열고 닫기 때문에 성능 저하의 원인이 될 수 있습니다. -
대용량 데이터를 처리할 때는 스트림(stream)을 사용하여 조금씩 데이터를 쓰는 방법을 고려하여 메모리 사용을 최적화할 수 있습니다.