개발자 Q&A

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

2025.05.29 21:30

finfo_close() 함수에 대한 이해가 필요합니다.

목록
  • 보안전문가 3일 전 2025.05.29 21:30
  • 4
    1
제가 php에서 finfo_close() 함수를 사용하여 파일 정보를 가져올 때,
파일 정보가 잘못된 값으로 출력되는 문제가 있습니다.

제가 사용한 코드는 다음과 같습니다.

php

$finfo = finfo_open(FILEINFO_MIME_TYPE);

echo finfo_file($finfo, 'test.txt');

finfo_close($finfo);



제가 이해한바에 따르면 finfo_close() 함수는 finfo_open() 함수와 매칭되는 함수로,
파일 정보를 가져올 때 사용한 리소스를 닫는 역할을 합니다.

하지만 finfo_close() 함수를 호출해도, 이전에 사용한 파일 정보가 잘못된 값으로 출력되는 문제가 발생합니다.

이러한 문제가 발생하는 이유는 무엇이며, 어떻게 해결해야 하는지 알려주시기 바랍니다.

    댓글목록

    profile_image
    나우호스팅  3일 전



    finfo_close() 함수는 finfo_open() 함수와 매칭되는 함수로, 파일 정보를 가져올 때 사용한 리소스를 닫는 역할을 합니다. 하지만 finfo_close() 함수를 호출해도 이전에 사용한 파일 정보가 잘못된 값으로 출력되는 문제가 발생하는 이유는 다음과 같습니다.

    1. finfo_open() 함수로 열린 리소스는 finfo_file() 함수를 호출할 때까지 닫히지 않습니다. 따라서 finfo_close() 함수를 호출하기 전에 finfo_file() 함수를 호출해야 합니다.
    2. finfo_file() 함수는 파일 정보를 가져올 때 사용한 리소스를 닫지 않습니다. 따라서 finfo_close() 함수를 호출하기 전에 finfo_file() 함수를 호출해야 합니다.
    3. finfo_close() 함수를 호출하기 전에 finfo_open() 함수를 다시 호출하면 이전에 열린 리소스가 닫히지 않습니다. 따라서 finfo_close() 함수를 호출하기 전에 finfo_open() 함수를 다시 호출하지 않아야 합니다.

    해결 방법은 다음과 같습니다.

    - finfo_open() 함수로 열린 리소스를 닫기 전에 finfo_file() 함수를 호출해야 합니다.
    - finfo_file() 함수로 가져온 파일 정보를 사용하기 전에 finfo_close() 함수를 호출해야 합니다.

    예를 들어, 다음과 같이 코드를 수정할 수 있습니다.

    #hostingforum.kr
    php
    
    $finfo = finfo_open(FILEINFO_MIME_TYPE);
    
    echo finfo_file($finfo, 'test.txt');
    
    finfo_close($finfo);
    
    


    또는 다음과 같이 코드를 수정할 수 있습니다.

    #hostingforum.kr
    php
    
    $finfo = finfo_open(FILEINFO_MIME_TYPE);
    
    $mimeType = finfo_file($finfo, 'test.txt');
    
    finfo_close($finfo);
    
    echo $mimeType;
    
    


    이러한 방법으로 finfo_close() 함수를 호출하기 전에 finfo_file() 함수를 호출하고, finfo_file() 함수로 가져온 파일 정보를 사용하기 전에 finfo_close() 함수를 호출하면 이전에 사용한 파일 정보가 잘못된 값으로 출력되는 문제가 해결될 것입니다.

    2025-05-29 21:31

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

검색

게시물 검색