PHpullh
학습 라이브러리/PHP/원자적 파일 교체

PHP · 파일/IO

원자적 파일 교체

중간 상태 노출을 줄이기 위해 임시 파일 후 rename으로 교체하는 예제입니다.

파일/IO고급atomic-writerenamefile

핵심 설명

중간 상태 노출을 줄이기 위해 임시 파일 후 rename으로 교체하는 예제입니다.

PHP code

<?php
$target = sys_get_temp_dir() . '/config-live.json';
$temp = tempnam(sys_get_temp_dir(), 'cfg-');
file_put_contents($temp, json_encode(['version' => 2]));
rename($temp, $target);

echo $target;

학습 팁

파일과 네트워크 예제는 권한, 인코딩, 잠금, 경로 처리까지 같이 확인해야 안전합니다.

주의할 점

파일 경로와 권한, 잠금 처리를 생략하면 로컬에서는 되더라도 배포 환경에서 자주 깨집니다.

자주 묻는 질문

원자적 파일 교체란 무엇인가요?

중간 상태 노출을 줄이기 위해 임시 파일 후 rename으로 교체하는 예제입니다.

원자적 파일 교체 학습 시 주의할 점은 무엇인가요?

파일 경로와 권한, 잠금 처리를 생략하면 로컬에서는 되더라도 배포 환경에서 자주 깨집니다.