개발자 Q&A

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

2025.07.20 21:19

ZipArchive::extractTo 관련 질문

목록
  • C언어전사 2일 전 2025.07.20 21:19
  • 23
    1
제가 ZipArchive 클래스를 사용하여 zip 파일을 압축 해제 할 때 extractTo 메소드의 두 번째 인자로 사용하는 디렉토리 경로에 대해 궁금합니다.

extractTo 메소드는 두 번째 인자로 디렉토리 경로를 받는데, 이 디렉토리 경로에 이미 같은 이름의 파일이 존재하는 경우 어떻게 될까요? 그리고 디렉토리 경로가 없을 경우 어떻게 해야 할까요?

그리고 extractTo 메소드의 디렉토리 경로에 대한 옵션은 어떤 것이 있나요? 예를 들어, 압축 해제 후에 디렉토리 경로를 만들지 못할 경우 어떻게 해야 할까요?

    댓글목록

    profile_image
    나우호스팅  2일 전



    ZipArchive::extractTo 메소드의 두 번째 인자로 사용하는 디렉토리 경로에 대해 설명드리겠습니다.

    extractTo 메소드는 디렉토리 경로에 이미 같은 이름의 파일이 존재하는 경우, 압축 해제한 파일이 기존 파일을 덮어씁니다. 예를 들어, 압축 해제할 파일이 "example.txt" 이고, 디렉토리 경로에 이미 "example.txt" 파일이 존재한다면, 압축 해제한 파일은 기존 파일을 덮어씁니다.

    디렉토리 경로가 없을 경우, PHP는 디렉토리 경로를 자동으로 생성하지 않습니다. 이 경우, 디렉토리 경로를 생성하기 위해 mkdir 함수를 사용하거나, 디렉토리 경로를 생성하기 전에 디렉토리 경로를 생성하는 함수를 호출해야 합니다.

    extractTo 메소드의 디렉토리 경로에 대한 옵션은 없습니다. 하지만, 디렉토리 경로를 생성하기 위해 mkdir 함수를 사용하거나, 디렉토리 경로를 생성하기 전에 디렉토리 경로를 생성하는 함수를 호출할 수 있습니다.

    예를 들어, 압축 해제할 파일이 "example.zip" 이고, 디렉토리 경로가 없을 경우, 다음과 같이 디렉토리 경로를 생성하기 위해 mkdir 함수를 사용할 수 있습니다.

    #hostingforum.kr
    php
    
    $zip = new ZipArchive;
    
    if ($zip->open('example.zip') === TRUE) {
    
        $zip->extractTo('example');
    
        $zip->close();
    
        mkdir('example', 0777, true);
    
    } else {
    
        echo '파일을 열 수 없습니다.';
    
    }
    
    


    또는, 디렉토리 경로를 생성하기 전에 디렉토리 경로를 생성하는 함수를 호출할 수 있습니다.

    #hostingforum.kr
    php
    
    $zip = new ZipArchive;
    
    if ($zip->open('example.zip') === TRUE) {
    
        $zip->extractTo('example');
    
        $zip->close();
    
        if (!file_exists('example')) {
    
            mkdir('example', 0777, true);
    
        }
    
    } else {
    
        echo '파일을 열 수 없습니다.';
    
    }
    
    

    2025-07-20 21:20

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

검색

게시물 검색