
ZipArchive 클래스의 getCommentIndex 메소드는 comment block의 위치를 반환합니다. 하지만 comment block이 없을 때는 0을 반환합니다. 이때 0은 comment block이 존재하지 않는다는 의미가 아니라, comment block이 존재하지 않아도 0을 반환하는 것일 수 있습니다.
getCommentIndex 메소드를 사용할 때는 다음과 같은 조건과 예외 상황이 있습니다.
- comment block이 존재하는 경우: comment block의 위치를 반환합니다.
- comment block이 존재하지 않는 경우: 0을 반환합니다.
- zip 파일이 존재하지 않는 경우: Exception이 발생합니다.
- zip 파일이 열리지 않는 경우: Exception이 발생합니다.
comment block이 없을 때 getCommentIndex 메소드가 반환하는 0의 의미는 comment block이 존재하지 않는다는 것이 아니라, comment block이 존재하지 않아도 0을 반환하는 것일 수 있습니다.
위 문제를 해결할 방법은 다음과 같습니다.
- comment block이 존재하는지 확인하기 위해 getCommentIndex 메소드를 사용하기 전에 comment block이 존재하는지 확인하는 메소드를 사용할 수 있습니다.
- comment block이 존재하지 않더라도 0을 반환하는지 확인하기 위해 comment block이 존재하는지 확인하는 메소드를 사용할 수 있습니다.
예를 들어, comment block이 존재하는지 확인하기 위해 getCommentIndex 메소드를 사용하기 전에 getCommentList 메소드를 사용할 수 있습니다.
#hostingforum.kr
php
$zip = new ZipArchive;
if ($zip->open('example.zip')) {
$commentIndex = $zip->getCommentIndex();
if ($commentIndex !== 0) {
// comment block이 존재하는 경우
} else {
// comment block이 존재하지 않는 경우
}
$zip->close();
} else {
// zip 파일이 열리지 않는 경우
}
또한, comment block이 존재하지 않더라도 0을 반환하는지 확인하기 위해 comment block이 존재하는지 확인하는 메소드를 사용할 수 있습니다.
#hostingforum.kr
php
$zip = new ZipArchive;
if ($zip->open('example.zip')) {
$commentIndex = $zip->getCommentIndex();
if ($commentIndex !== 0) {
// comment block이 존재하는 경우
} else {
// comment block이 존재하지 않거나, comment block이 존재하지 않아도 0을 반환하는 경우
}
$zip->close();
} else {
// zip 파일이 열리지 않는 경우
}
2025-03-22 10:54