개발자 Q&A

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

2025.03.15 17:59

ZipArchive::getFromName에 대한 질문

  • 스레드마스터 6시간 전 2025.03.15 17:59 새글
  • 2
    1
제가 현재 PHP의 ZipArchive 클래스를 사용하여 ZIP 파일을 처리하고 있습니다.

ZIP 파일 내의 특정 파일을 추출하는 과정에서 `ZipArchive::getFromName` 메서드를 사용하려고 합니다.

여기서 문제가 발생한 부분은, 이 메서드의 첫 번째 인자로 파일 이름을 전달할 때, 파일 이름에 공백이 포함된 경우 어떻게 처리해야 하는지 궁금합니다.

아래와 같은 예시를 보았을 때, 공백이 포함된 파일 이름을 처리하는 방법에 대한 정보가 없어서 질문드립니다.

php

$zip = new ZipArchive;

$zip->open('example.zip');



// 공백이 포함된 파일 이름을 전달할 때 어떻게 처리해야 하나요?

$fileName = 'example file.txt';

$fileContents = $zip->getFromName($fileName);



제가 잘못 이해하고 있는 부분이 있거나, 추가 정보가 필요하실 경우 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  6시간 전



    `ZipArchive::getFromName` 메서드는 ZIP 파일 내의 특정 파일을 추출할 때 사용됩니다. 이 메서드의 첫 번째 인자로 파일 이름을 전달할 때, 파일 이름에 공백이 포함된 경우에는 다음과 같이 처리할 수 있습니다.

    #hostingforum.kr
    php
    
    $fileName = 'example file.txt';
    
    $fileContents = $zip->getFromName($fileName);
    
    


    위 코드에서 `$fileName` 변수에 공백이 포함된 파일 이름을 할당하고, `$zip->getFromName` 메서드에 `$fileName` 변수를 전달합니다. 이때, PHP는 문자열을 인용 기호로 감싸서 처리하므로, 공백이 포함된 파일 이름도 정상적으로 처리됩니다.

    만약 파일 이름에 특수 문자가 포함되어 있는 경우, 파일 이름을 인용 기호로 감싸는 방법을 사용하거나, `addcslashes` 함수를 사용하여 특수 문자를 이스케이프 처리할 수 있습니다.

    #hostingforum.kr
    php
    
    $fileName = 'example file.txt';
    
    $fileContents = $zip->getFromName(addcslashes($fileName, '\''));
    
    


    위 코드에서 `addcslashes` 함수를 사용하여 `$fileName` 변수에 포함된 특수 문자를 이스케이프 처리하고, `$zip->getFromName` 메서드에 처리된 파일 이름을 전달합니다.

    2025-03-15 18:00

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

검색

게시물 검색