YesYo.com MintState Forums
뒤로    YesYo.com MintState BBS > Tech > PHP
검색
멤버이름    오토
비밀번호 
 

[Function] ob_start() , ob_get_contents() , ob_get_flush(), ob_flush()…

페이지 정보

작성자 MintState 댓글 0건 조회 16,134회 작성일 09-02-23 14:19

본문

[Function] ob_start() , ob_get_contents() , ob_get_flush(), ob_flush(), ob_end_clean()

자주는 안쓰지만 많은 데이터를 처리 할때(실행시간이 길때) 간혹 쓰이는 함수 입니다.

우선 ob_start()로 버퍼링을 시작하고  ob_flush()으로 버퍼를 출력 하시면 됩니다.
버퍼 값을 반환 할려면 ob_get_contents()를 쓰시면 됩니다.

ob_start() - 출력 버퍼링을 켭니다
ob_get_contents() - 출력 버퍼의 내용을 반환
ob_get_contents() - 출력 버퍼 내용의 길이를 반환
ob_get_clean() - 현재 버퍼 내용을 얻고 현재 출력 버퍼를 삭제
ob_get_flush() - 출력 버퍼의 내용을 반환하고 출력 버퍼링을 종료
ob_clean() - 출력 버퍼의 모든 내용을 삭제
ob_flush() - 출력 버퍼를 전송
ob_end_clean() - 출력 버퍼를 지우고 출력 버퍼링을 종료
ob_end_flush() - 출력 버퍼를 전송하고 출력 버퍼링을 종료

예)
<?php
function callback($buffer)
{
  // 모든 apples를 oranges로 치환합니다.
  return (str_replace("apples", "oranges", $buffer));
}
ob_start("callback");
?>
<html>
<body>
<p>It's like comparing apples to oranges.</p>
</body>
</html>
<?php
ob_end_flush();
?>


예)
<?php
$cacheFile = 'cache.html';

if ( (file_exists($cacheFile)) && ((fileatime($cacheFile) + 600) > time()) )
{
    $content = file_get_contents($cacheFile);
    echo $content;
} else 
{
    ob_start();
    // write content
    echo '<h1>Hello world to cache</h1>';
    $content = ob_get_contents();
    ob_end_clean();
    file_put_contents($cacheFile,$content);
    echo $content;
}
?>


예)
<?php
ob_start();
echo "Hello ";
$out1 = ob_get_contents();
echo "World";
$out2 = ob_get_contents();
ob_end_clean();
var_dump($out1, $out2);
?>

댓글목록

등록된 댓글이 없습니다.

Total 165건 5 페이지
PHP 목록
번호 제목 글쓴이 조회 날짜
65 MintState 11480 11-10
64 MintState 20037 11-10
63 MintState 12868 11-10
62 MintState 13013 11-10
61 MintState 20842 11-10
60 MintState 12638 11-10
59 MintState 14604 11-10
58 MintState 14707 11-10
57 MintState 15881 11-10
56 MintState 30624 11-10
55 MintState 12507 11-10
54 MintState 21276 11-10
53 MintState 17142 11-10
52 MintState 16220 11-10
51 MintState 14559 11-10
50 MintState 14579 11-10
49 MintState 16243 11-10
48 MintState 13910 11-17
47 MintState 17329 11-17
46 MintState 12330 11-17
45 MintState 22402 11-17
44 MintState 17059 11-17
43 MintState 15441 02-17
42 MintState 16460 02-17
열람중 MintState 16135 02-23
게시물 검색
모바일 버전으로 보기
CopyRight ©2004 - 2024, YesYo.com MintState. ™