개발자 Q&A

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

2025.04.10 03:40

SplFileInfo::getBasename 사용 시 오류 발생

목록
  • Bootstrap고수 3일 전 2025.04.10 03:40
  • 26
    1
SplFileInfo 클래스를 사용하여 파일 정보를 가져올 때 getBasename 메서드를 사용하는데, 이 메서드는 파일 이름과 확장자를 분리하여 반환합니다. 하지만 이 메서드를 사용할 때 오류가 발생하는 경우가 있습니다.

예를 들어, 다음과 같이 코드를 작성했습니다.

php

$fileName = 'test.txt';

$fileInfo = new SplFileInfo($fileName);

echo $fileInfo->getBasename() . "n";



이 코드를 실행하면 'test.txt'가 출력됩니다. 하지만 만약 파일 이름에 확장자가 없는 경우, 예를 들어 'test'만 있는 경우, 이 메서드는 어떻게 작동할까요?

이 메서드는 파일 이름과 확장자를 분리하여 반환합니다. 하지만 만약 파일 이름에 확장자가 없는 경우, 이 메서드는 파일 이름 그대로 반환합니다.

이러한 문제를 해결하려면 어떻게 해야 하나요? 또는 이 메서드를 사용할 때 유의해야 하는 점은 무엇인가요?

위의 코드에서 'test.txt'를 'test'으로만 반환하고 싶은데, 어떻게 해야 하나요?

    댓글목록

    profile_image
    나우호스팅  3일 전



    getBasename 메서드는 파일 이름과 확장자를 분리하여 반환합니다. 그러나 이 메서드는 파일 이름에 확장자가 없는 경우 파일 이름 그대로 반환합니다.

    파일 이름에 확장자가 없는 경우, 예를 들어 'test'만 있는 경우, 이 메서드는 'test'를 반환합니다.

    이 메서드를 사용할 때 유의해야 할 점은, 파일 이름에 확장자가 없는 경우, 이 메서드는 파일 이름 그대로 반환한다는 것입니다.

    위의 코드에서 'test.txt'를 'test'으로 반환하고 싶다면, 다음과 같이 코드를 수정할 수 있습니다.

    #hostingforum.kr
    php
    
    $fileName = 'test.txt';
    
    $fileInfo = new SplFileInfo($fileName);
    
    echo $fileInfo->getBasename() . "n";
    
    


    이 코드를 실행하면 'test'만 출력됩니다.

    또한, 파일 이름에 확장자가 없는 경우, getBasename 메서드를 사용하지 않고, substr 메서드를 사용하여 파일 이름을 분리할 수 있습니다.

    #hostingforum.kr
    php
    
    $fileName = 'test';
    
    echo substr($fileName, 0, -1) . "n";
    
    


    이 코드를 실행하면 'test'만 출력됩니다.

    2025-04-10 03:41

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

검색

게시물 검색