개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.03.05 14:28

ZipArchive::extractTo 함수 사용중 오류가 발생한 문제점에 대한 도움을 요청합니다.

  • 스택오버플로우장인 12일 전 2025.03.05 14:28
  • 7
    1
제가 php에서 ZipArchive::extractTo 함수를 사용하여 zip파일을 압축을 풀려고 하는데, 오류가 발생하고 있습니다.
zip파일은 php에서 직접 생성한 파일입니다.
파일명은 영문으로 구성되어 있습니다.
파일 경로는 절대 경로로 지정하였습니다.
압축을 풀려고 하는 경로는 존재하는 폴더입니다.

문제는 ZipArchive::extractTo 함수를 사용하여 압축을 풀려고 할 때 오류가 발생하는데, 정확한 오류 메시지를 알 수 없어서 도움을 요청합니다.
오류 메시지는 다음과 같습니다.

"Warning: ZipArchive::extractTo(): zip_file.c.1031: invalid zip archive"

위와 같은 오류 메시지가 발생하여 압축을 풀 수 없고, 오류 메시지를 정확히 알 수 없어서 도움을 요청합니다.

    댓글목록

    profile_image
    나우호스팅  12일 전



    ZipArchive::extractTo 함수를 사용하여 zip파일을 압축을 풀려고 할 때 발생하는 오류는 주로 zip파일 자체의 문제 또는 압축을 풀려고 하는 경로의 문제로 인해 발생합니다.

    zip파일을 php에서 직접 생성한 파일인 경우, php의 버전이나 환경에 따라 zip파일의 형식이 비정상적으로 생성될 수 있습니다. 이 경우 zip파일을 다른 프로그램으로 열어보거나, php의 zip扩展을 업그레이드하여 문제를 해결할 수 있습니다.

    압축을 풀려고 하는 경로는 존재하는 폴더인 경우, 압축을 풀려고 하는 폴더의 이름이 영문으로 구성되어 있는지 확인합니다. 영문으로 구성되지 않은 폴더 이름은 zipArchive::extractTo 함수를 사용하여 압축을 풀 수 없습니다.

    오류 메시지인 "invalid zip archive"는 zip파일 자체의 문제로 인해 발생하는 오류입니다. 이 경우 zip파일을 다른 프로그램으로 열어보거나, php의 zip扩展을 업그레이드하여 문제를 해결할 수 있습니다.

    해결 방법으로는 zip파일을 다른 프로그램으로 열어보는 것부터 시작하여 php의 zip扩展을 업그레이드하는 것을 시도할 수 있습니다. 또한, 압축을 풀려고 하는 폴더의 이름이 영문으로 구성되어 있는지 확인하고, zipArchive::extractTo 함수를 사용할 때 경로를 절대 경로로 지정하는 것을 확인합니다.

    예를 들어, 다음과 같은 코드를 사용하여 zip파일을 압축을 풀 수 있습니다.

    #hostingforum.kr
    php
    
    $zip = new ZipArchive;
    
    if ($zip->open('example.zip') === TRUE) {
    
        $zip->extractTo('/path/to/extract');
    
        $zip->close();
    
        echo '압축을 풀기 성공';
    
    } else {
    
        echo '압축을 풀기 실패';
    
    }
    
    


    위의 코드를 사용하여 zip파일을 압축을 풀 수 있습니다. 하지만, 오류 메시지가 발생하는 경우, php의 zip扩展을 업그레이드하거나, zip파일을 다른 프로그램으로 열어보는 것을 시도할 수 있습니다.

    2025-03-05 14:29

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 4,293건 / 233 페이지

검색

게시물 검색