개발자 Q&A

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

2025.03.03 17:13

ZipArchive::replaceFile 사용 시 오류 발생

  • Bootstrap고수 12일 전 2025.03.03 17:13
  • 11
    1
제가 학습 중인 PHP에서 ZipArchive::replaceFile 함수를 사용하여 zip 파일 내의 파일을 교체하려고 합니다. 하지만, zip 파일을 생성한 후 replaceFile 함수로 파일을 교체하려고 할 때 오류가 발생합니다.

오류 메시지: 'Cannot create a file with the same name as a directory'

replaceFile 함수를 사용하여 zip 파일 내의 파일을 교체하는 방법을 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  12일 전



    ZipArchive::replaceFile 함수를 사용하여 zip 파일 내의 파일을 교체하는 방법은 다음과 같습니다.

    1. 먼저 zip 파일을 열어야 합니다. 이때, replaceFile 함수를 사용하기 전에 zip 파일 내의 파일 목록을 확인하여 교체할 파일이 존재하는지 확인합니다.
    2. 교체할 파일이 존재하는 경우, replaceFile 함수를 사용하여 교체합니다. 이때, 교체할 파일의 경로를 지정하고, 교체할 파일의 이름을 지정합니다.
    3. 교체 후, zip 파일을 저장합니다.

    예제 코드는 다음과 같습니다.

    #hostingforum.kr
    php
    
    $zip = new ZipArchive;
    
    if ($zip->open('example.zip', ZipArchive::CREATE) !== TRUE) {
    
        echo '파일을 열 수 없습니다.';
    
        exit;
    
    }
    
    
    
    // 교체할 파일이 존재하는지 확인합니다.
    
    $files = $zip->getFromName('example.txt');
    
    if ($files) {
    
        // 교체할 파일이 존재하는 경우, 교체합니다.
    
        $zip->replaceFile('example.txt', 'example2.txt');
    
    } else {
    
        echo '교체할 파일이 존재하지 않습니다.';
    
    }
    
    
    
    // 교체 후, zip 파일을 저장합니다.
    
    if ($zip->close() !== TRUE) {
    
        echo '파일을 저장할 수 없습니다.';
    
    }
    
    


    위 코드에서는 `replaceFile` 함수를 사용하여 zip 파일 내의 파일을 교체하는 방법을 설명하였습니다. 교체할 파일이 존재하는 경우, 교체하고 교체 후 zip 파일을 저장합니다.

    2025-03-03 17:14

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

검색

게시물 검색