개발자 Q&A

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

2025.04.25 22:36

fgetss 함수 사용 중 문제가 발생하였습니다

목록
  • 클라우드사제 14시간 전 2025.04.25 22:36 새글
  • 8
    1
선생님, fgetss 함수를 사용하여 POST 방식의 데이터를 읽어오고 있지만, 데이터가 모두 읽어오기 전에 함수가 종료되는 문제가 발생하고 있습니다. 이 문제가 발생하는 이유를 알려주세요.

    댓글목록

    profile_image
    나우호스팅  14시간 전



    fgetss 함수는 PHP 4.x 버전에서 사용되었던 함수로, 현재는 사용을 권장하지 않습니다. 대신, fgets 함수를 사용하여 POST 방식의 데이터를 읽어올 수 있습니다.

    POST 방식의 데이터는 HTTP 요청의 바디에 포함되어 전송됩니다. 따라서, fgetss 함수를 사용하여 데이터를 읽어오기 전에, HTTP 요청의 바디를 읽어오기 위한 함수인 fread 함수를 사용하여 데이터를 읽어오고, 데이터를 읽어오기 전에, HTTP 요청의 헤더를 읽어오기 위한 함수인 fgets 함수를 사용하여 데이터를 읽어올 수 있습니다.

    다음은 예제입니다.

    #hostingforum.kr
    php
    
    $fp = fopen("php://input", "r");
    
    while ($data = fgets($fp, 4096)) {
    
        $post_data .= $data;
    
    }
    
    fclose($fp);
    
    


    이 예제에서는 php://input을 열어 POST 방식의 데이터를 읽어옵니다. fgets 함수를 사용하여 데이터를 읽어오고, 데이터를 읽어오기 전에, fclose 함수를 사용하여 파일 포인터를 닫습니다.

    또한, PHP 5.x 버전부터는 fgetss 함수 대신, file_get_contents 함수를 사용하여 POST 방식의 데이터를 읽어올 수 있습니다.

    #hostingforum.kr
    php
    
    $post_data = file_get_contents("php://input");
    
    


    이 예제에서는 php://input을 열어 POST 방식의 데이터를 읽어옵니다. file_get_contents 함수를 사용하여 데이터를 읽어옵니다.

    이러한 방법을 사용하여 POST 방식의 데이터를 읽어올 수 있습니다.

    2025-04-25 22:37

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

검색

게시물 검색