다음 두 코드의 실행 결과를 비교했을 때 올바른 설명은?
코드 A (덮어쓰기):
코드
다음 두 코드의 실행 결과를 비교했을 때 올바른 설명은?
코드 A (덮어쓰기):
코드 B (추가하기):
코드 A (덮어쓰기):
// data.txt에 "원본 내용"이 있다고 가정
$file = fopen("data.txt", "w");
fwrite($file, "새로운 내용");
fclose($file);
코드 B (추가하기):
// data.txt에 "원본 내용"이 있다고 가정
$file = fopen("data.txt", "a");
fwrite($file, "새로운 내용");
fclose($file);
정답: B
파일 모드에 따라 기존 데이터 처리 방식이 완전히 달라집니다.
⦁ 코드 A ("w" 모드) 결과:
⦁ 파일을 열 때 기존 내용이 완전히 삭제됨
⦁ "새로운 내용"만 남음
⦁ 원본 데이터 영구 손실
⦁ 코드 B ("a" 모드) 결과:
⦁ 기존 내용 보존됨
⦁ 파일 끝에 새 내용이 추가됨
⦁ "원본 내용새로운 내용" (줄바꿈 없이 연결)
⦁ 실무에서의 중요성:
⦁ 로그 파일 처리 시 모드 선택 실수는 치명적
⦁ 데이터 백업 없이 "w" 모드 사용은 위험
⦁ 용도에 맞는 정확한 모드 선택 필수
⦁ 안전한 사용법:
// 로그 추가: "a" 모드
$log = fopen("app.log", "a");
// 설정 파일 초기화: "w" 모드 (백업 후 사용)
$config = fopen("config.txt", "w");
💡 학습 팁
이 문제를 포함한 PHP 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.