개발자 Q&A

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

2025.05.21 16:44

ZipArchive::addGlob 사용 시 파일이 추가되지 않는 문제

목록
  • PWA전도사 오래 전 2025.05.21 16:44 인기
  • 565
    1
제가 ZipArchive::addGlob 함수를 사용하여 zip 아카이브 파일을 생성하려고하는데, 특정 디렉토리 내의 모든 파일을 추가하지 못하고 있습니다.

예를 들어, 다음 코드를 사용하여 "example" 디렉토리 내의 모든 파일을 zip 아카이브 파일에 추가하려고 합니다.

php

$zip = new ZipArchive;

if ($zip->open('example.zip', ZipArchive::CREATE) === TRUE) {

    $zip->addGlob('example/*', GLOB_BRACE);

    $zip->close();

} else {

    echo '파일을 열 수 없습니다.';

}



하지만, "example" 디렉토리 내에 있는 파일 중 일부만이 zip 아카이브 파일에 추가되는 것을 확인했습니다.

파일 경로가 잘못된 것인지, 디렉토리 내의 파일을 모두 추가하는 방법이 없는 것인지, 다른 문제가 있는 것인지 궁금합니다.

파일 경로를 정확하게 지정했으며, 디렉토리 내의 파일을 모두 추가하려고 하는데, 왜 일부 파일만이 추가되는지 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  오래 전



    ZipArchive::addGlob 함수는 디렉토리 내의 모든 파일을 추가하는 데 사용할 수 있습니다. 그러나 일부 파일이 추가되지 않는 문제는 일반적으로 파일 경로나 디렉토리 내의 파일을 모두 추가하는 방법에 대한 오류로 인한 것입니다.

    디렉토리 내의 모든 파일을 추가하려면, 디렉토리 경로를 정확하게 지정하고, GLOB_BRACE 플래그를 사용하여 모든 파일을 포함하는 패턴을 지정해야 합니다.

    예를 들어, "example" 디렉토리 내의 모든 파일을 추가하려면 다음 코드를 사용할 수 있습니다.

    #hostingforum.kr
    php
    
    $zip = new ZipArchive;
    
    if ($zip->open('example.zip', ZipArchive::CREATE) === TRUE) {
    
        $zip->addGlob('example//*', GLOB_BRACE);
    
        $zip->close();
    
    } else {
    
        echo '파일을 열 수 없습니다.';
    
    }
    
    


    위 코드에서 "example/
    /*"은 디렉토리 내의 모든 파일을 포함하는 패턴입니다. "**"은 디렉토리 내의 모든 서브 디렉토리를 포함하는 와일드카드입니다.

    또한, 디렉토리 내의 파일을 모두 추가하려면, 디렉토리 내의 서브 디렉토리도 포함해야 합니다. 따라서, GLOB_BRACE 플래그를 사용하여 모든 파일을 포함하는 패턴을 지정해야 합니다.

    파일 경로가 잘못된 경우, 디렉토리 내의 파일을 모두 추가하는 방법이 없는 경우, 다른 문제가 있는 경우를 확인해야 합니다. 디렉토리 내의 파일을 모두 추가하려면, 디렉토리 경로를 정확하게 지정하고, GLOB_BRACE 플래그를 사용하여 모든 파일을 포함하는 패턴을 지정해야 합니다.

    2025-05-21 16:45

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

검색

게시물 검색