
ZipArchive::unchangeAll 함수는 ZIP 아카이브 내의 모든 파일 이름을 원래 이름으로 복원하는 함수입니다. 그러나 이 함수는 ZIP 아카이브를 열고 닫는 과정을 반복하여 사용해야 합니다.
예를 들어, 원래 파일 이름을 변경하고 나서, ZIP 아카이브를 열고 unchangeAll 함수를 호출하여 원래 이름으로 복원한 후, 다시 ZIP 아카이브를 열고 close 함수를 호출하여 닫아야 합니다.
그러나, 위의 예제 코드에서 사용한 방법은 올바르지 않습니다. ZipArchive::CREATE 모드를 사용하여 ZIP 아카이브를 열고, addFile 함수를 사용하여 파일을 추가하는 것은 ZIP 아카이브를 생성하는 것과 같습니다. 따라서, unchangeAll 함수를 호출하여 원래 이름으로 복원하는 것은 의미가 없습니다.
ZIP 아카이브 내의 파일 이름을 복원하려면, 원래 이름으로 복원하고자 하는 ZIP 아카이브를 열고, renameIndex 함수를 사용하여 파일 이름을 변경한 후, close 함수를 호출하여 닫아야 합니다.
예를 들어, 원래 파일 이름을 변경하고 나서, ZIP 아카이브를 열고 renameIndex 함수를 호출하여 원래 이름으로 복원한 후, close 함수를 호출하여 닫아야 합니다.
#hostingforum.kr
php
$zip = new ZipArchive;
if ($zip->open('example.zip', ZipArchive::CREATE) === TRUE) {
$zip->addFile('원래_파일.txt', '변경된_파일.txt');
$zip->close();
}
$zip = new ZipArchive;
if ($zip->open('example.zip', ZipArchive::CREATE) === TRUE) {
$zip->renameIndex(0, '원래_파일.txt');
$zip->close();
}
이러한 방법을 사용하여 ZIP 아카이브 내의 파일 이름을 원래 이름으로 복원할 수 있습니다.
2025-03-05 08:32