컴

ob_start callback에 대한 설명

· 2015-11-04 (수) 00:04:32 · 3053

(PHP 4, PHP 5)

ob_start — 출력 버퍼링을 켭니다

 

bool ob_start ([ callable $output_callback = NULL [, int $chunk_size = 0 [, int $flags = PHP_OUTPUT_HANDLER_STDFLAGS ]]] )

 

 

출력 버퍼링을 켭니다. 출력 버퍼링을 활성화한 동안, (헤더를 제외한) 스크립트의 모든 출력을 내부 버퍼에 저장하고, 실제로 전송하지 않습니다.

 

이 내부 버퍼의 내용은 ob_get_contents()를 이용해서 문자열 변수로 복사할 수 있습니다. 내부 버퍼에 들어있는 내용을 출력하려면, ob_end_flush()를 사용하십시오. 또는, ob_end_clean()로 버퍼 내용을 출력하지 않고 지울 수 있습니다.

 

 

 

인수 ¶

 

output_callback

선택적인 output_callback 함수를 지정할 수 있습니다. 이 함수는 문자열을 인수로 받고, 문자열을 반환해야 합니다. 이 함수는 (ob_flush(), ob_clean() 등의 함수로) 출력 버퍼를 보내거나(전송) 비울 때, 또는 요청 마지막에 출력 버퍼를 브라우저로 보낼 때 호출됩니다. output_callback을 호출 할 때 출력 버퍼의 내용을 인수로 보내고, 브라우저로 전송할 새 출력 버퍼를 결과로 반환하여 작동합니다. output_callback이 호출할 수 있는 함수가 아니라면, 이 함수는 FALSE를 반환합니다. 다음이 콜백 형태입니다:

 

bool handler ( string $buffer [, int $phase ] )

buffer

출력 버퍼의 내용.

phase

PHP_OUTPUT_HANDLER_* 상수의 비트 마스크.

output_callback이 FALSE를 반환하면, 원 입력이 브라우저로 전송됩니다.

 

output_callback 인수는 NULL 값을 넘겨서 지나갈 수 있습니다.

 

ob_end_clean(), ob_end_flush(), ob_clean(), ob_flush(), ob_start()는 콜백 함수에서 호출할 수 없습니다. 이 함수들을 콜백 함수에서 호출하면, 그 동작은 정의되어 있지 않습니다. 버퍼 내용을 지우고 싶으면, 콜백 함수에서 ""(빈 문자열)을 반환하면 됩니다. 또한, 출력 버퍼링 함수를 사용하는 print_r($expression, true), highlight_file($filename, true) 등의 함수도 콜백 함수에서 호출할 수 없습니다.

 

 

 

위 예제는 php.net에서 가져온것이고 거기에 제 설명을 간미한것입니다. 

 

 

<?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();

 

?>

 

 

output : 

 

<html>

<body>

<p>It's like comparing oranges to oranges.</p>

</body>

</html>

 

 

 

callback함수 없이 실행 할경우

 

 

<?php

ob_start();

?>

<html>

<body>

<p>It's like comparing apples to oranges.</p>

</body>

</html>

 

<?php

 

$print = ob_get_contents();

ob_end_clean();

 

echo $print;

 

?>

 

 

output :

<html>

<body>

<p>It's like comparing apples to oranges.</p>

</body>

</html>

|
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
15-12-13 조회 2,504
15-12-13 조회 2,918
15-12-11 조회 2,566
15-12-11 조회 2,530
15-12-11 조회 2,531
15-12-10 조회 2,487
15-12-10 조회 2,555
15-12-10 조회 2,525
15-12-03 조회 3,171
15-12-03 조회 2,691
15-11-25 조회 2,766
15-11-09 조회 3,013
15-11-04 조회 2,929
15-06-09 조회 4,047
15-05-06 조회 5,057
15-03-28 조회 4,507
14-12-05 조회 4,967
14-10-25 조회 4,979
14-10-13 조회 4,239
14-10-03 조회 6,099
14-09-19 조회 4,925
14-09-18 조회 4,008
14-09-13 조회 4,578
14-09-03 조회 5,552
14-08-26 조회 4,169
14-08-26 조회 3,955
14-08-26 조회 3,942
14-08-11 조회 6,369
14-08-06 조회 4,087
14-08-06 조회 3,681
14-08-06 조회 3,876
14-08-01 조회 6,207
14-08-01 조회 3,795
14-07-30 조회 4,391
14-06-28 조회 5,132
14-06-28 조회 4,409
14-05-11 조회 4,541
14-05-09 조회 4,902
14-05-09 조회 7,660
14-04-30 조회 4,226
14-04-27 조회 4,141
14-04-25 조회 4,868
14-04-21 조회 3,835
14-04-21 조회 4,963
14-04-10 조회 4,565
14-04-01 조회 6,130
14-03-03 조회 3,502
14-02-25 조회 5,887
14-02-14 조회 5,169
14-02-13 조회 4,924
14-01-03 조회 4,403
13-12-06 조회 3,744
13-11-22 조회 5,497
13-11-18 조회 3,998
13-10-02 조회 4,401
13-10-02 조회 3,666
13-10-02 조회 3,925
13-10-02 조회 3,789
13-10-02 조회 4,157
13-09-16 조회 8,003
13-09-16 조회 5,362
13-08-18 조회 5,365
13-07-11 조회 4,012
13-07-10 조회 4,646
13-07-09 조회 4,689
13-07-09 조회 4,945
13-07-04 조회 4,412
13-07-04 조회 4,074
13-07-04 조회 4,196
13-07-01 조회 4,686
13-07-01 조회 4,506
13-07-01 조회 6,727
13-06-23 조회 4,344
13-06-05 조회 3,599
13-05-29 조회 4,833
13-05-10 조회 4,244
13-04-05 조회 4,852
13-04-05 조회 6,542
13-04-05 조회 1.1만
13-04-05 조회 7,144
13-04-05 조회 6,537
13-03-31 조회 5,806
13-03-31 조회 4,126
13-03-28 조회 4,492
13-03-28 조회 6,658
13-03-28 조회 9,170
13-03-28 조회 4,302
13-03-24 조회 3,911
13-03-21 조회 4,586
13-03-21 조회 1.7만
13-03-14 조회 3,896
13-03-10 조회 4,702
13-03-10 조회 4,446
13-03-10 조회 4,156
13-03-08 조회 5,235
13-03-08 조회 4,343
13-03-03 조회 4,988
13-03-03 조회 7,431
13-03-03 조회 4,192
13-03-03 조회 1.1만