
ZipArchive::unchangeAll 함수는 압축 파일 내의 모든 파일을 풀어주는 함수입니다. 하지만 일부 파일이 제대로 풀리지 않고 압축파일 내에 남아있는 문제가 발생하는 경우가 있습니다.
이 문제는 디렉토리 안에 있는 파일이 제대로 풀리지 않는 것과 관련이 있습니다. ZipArchive::unchangeAll 함수는 디렉토리 내의 파일을 풀어주지 않습니다. 따라서 디렉토리 안에 있는 파일을 풀어주려면 디렉토리 내의 파일을 일일이 풀어주어야 합니다.
예를 들어, 디렉토리1 안에 있는 파일3.txt와 파일4.txt를 풀어주려면 다음과 같이 코드를 수정해야 합니다.
#hostingforum.kr
php
$zip = new ZipArchive;
if ($zip->open('example.zip', ZipArchive::RDONLY) === TRUE) {
$zip->extractTo('./', array('디렉토리1/파일3.txt', '디렉토리1/파일4.txt'));
$zip->close();
} else {
echo '파일을 열 수 없습니다.';
}
또한, 디렉토리 안에 있는 파일을 풀어주기 위해 디렉토리를 먼저 생성해야 합니다.
#hostingforum.kr
php
mkdir('./디렉토리1', 0777, true);
위 코드를 사용하여 압축 파일을 풀었을 때, 디렉토리 안에 있는 파일이 제대로 풀리지 않는 문제를 해결할 수 있습니다.
2025-06-12 10:37