개발자 Q&A

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

2025.08.12 04:51

PharData::addFile() 메서드에 관한 질문

목록
  • 화이트해커연구가 2시간 전 2025.08.12 04:51 새글
  • 1
    1
제가 PharData 클래스를 사용하여 PharArchiveFile을 생성하였는데,
addFile() 메서드를 사용하여 파일을 추가하려고 합니다.
메서드의 파라미터로 파일 경로를 전달해야 하는데,
이 때의 파일 경로는 상대 경로인지 절대 경로인지 구분이 필요한데요.
절대 경로를 사용해야 하는 이유가 무엇인가요?

    댓글목록

    profile_image
    나우호스팅  2시간 전



    PharData::addFile() 메서드에 전달하는 파일 경로는 상대 경로로 지정할 수 있지만, 절대 경로를 사용하는 것이 권장됩니다.

    절대 경로를 사용하는 이유는 PharArchiveFile이 생성되는 위치와 상관없이 항상 동일한 파일을 참조할 수 있기 때문입니다. 상대 경로는 PharArchiveFile이 생성되는 위치에 따라 달라질 수 있기 때문에, PharArchiveFile을 다른 위치에 복사하거나 이동할 때 문제가 발생할 수 있습니다.

    따라서, PharData::addFile() 메서드에 전달하는 파일 경로는 절대 경로를 사용하는 것이 좋습니다.

    예를 들어, PharArchiveFile이 /var/www/html/phar.phar에 생성된 경우, addFile() 메서드에 /var/www/html/file.txt라는 상대 경로를 전달하면, PharArchiveFile이 /var/www/html/phar.phar에 생성된 경우에는 문제가 없지만, PharArchiveFile이 /var/www/phar.phar에 생성된 경우에는 file.txt가 존재하지 않아 오류가 발생할 수 있습니다.

    반면에, addFile() 메서드에 /var/www/html/file.txt라는 절대 경로를 전달하면, 항상 동일한 파일을 참조할 수 있으므로 문제가 발생하지 않습니다.

    2025-08-12 04:52

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

검색

게시물 검색