개발자 Q&A

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

2025.07.20 03:03

ob_clean 함수에 대한 이해 필요

목록
  • 레디스매니아 3일 전 2025.07.20 03:03
  • 33
    1
제가 php에서 ob_clean() 함수를 사용하여 출력 버퍼를 초기화하려고 하는데, 이 함수의 동작 방식에 대해 궁금합니다.

ob_clean() 함수는 PHP의 출력 버퍼를 초기화하는 함수로, 출력 버퍼의 내용을 모두 삭제하고 버퍼를 초기화합니다. 이 함수는 PHP의 출력 버퍼를 관리하는 ob_start() 함수와 함께 사용됩니다.

제가 궁금한 점은, ob_clean() 함수가 출력 버퍼의 내용을 모두 삭제하는 것과 동시에, 이전에 출력 버퍼에 출력된 내용이 모두 사라지게 되나요?

예를 들어, 다음 코드를 실행해 보면, "Hello"라는 문자열이 출력되지 않나요?

php

ob_start();

echo "Hello";

ob_clean();

echo "World";



이 코드를 실행하면 "World"라는 문자열만 출력되나요?

제가 이해한 바와 다르게 "Hello"라는 문자열이 출력되지 않나요?

제가 정말 궁금한 점은, ob_clean() 함수가 출력 버퍼의 내용을 모두 삭제하는 것과 동시에, 이전에 출력 버퍼에 출력된 내용이 모두 사라지게 되나요?

제가 정말 궁금한 점을 알려주세요!

    댓글목록

    profile_image
    나우호스팅  3일 전



    ob_clean() 함수는 PHP의 출력 버퍼를 초기화하는 함수로, 출력 버퍼의 내용을 모두 삭제하고 버퍼를 초기화합니다. 하지만 이전에 출력 버퍼에 출력된 내용은 모두 사라지지 않습니다.

    예를 들어, 다음 코드를 실행하면 "Hello"라는 문자열이 출력됩니다.

    #hostingforum.kr
    php
    
    ob_start();
    
    echo "Hello";
    
    ob_clean();
    
    ob_flush(); // 또는 flush() 함수를 호출하여 버퍼 내용을 출력합니다.
    
    echo "World";
    
    


    이 코드를 실행하면 "Hello"라는 문자열이 출력되고, 그 다음에 "World"라는 문자열이 출력됩니다.

    ob_clean() 함수가 출력 버퍼의 내용을 모두 삭제하는 것과 동시에, 이전에 출력 버퍼에 출력된 내용이 모두 사라지지 않는 이유는 ob_clean() 함수가 버퍼의 내용을 삭제하는 것만을 수행하기 때문입니다. 버퍼의 내용을 출력하기 위해서는 ob_flush() 함수를 호출하거나 flush() 함수를 호출해야 합니다.

    따라서, 이전에 출력 버퍼에 출력된 내용은 모두 사라지지 않고, 버퍼의 내용을 출력하기 위해서는 별도의 함수를 호출해야 합니다.

    2025-07-20 03:04

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

검색

게시물 검색