PHP - Buffer/Buffering - Controle de Saída ob_start(), ob_get_contents() e ob_end_clean()
Controle de saída em PHP é muito interessante, principalmente quando trabalhamos com Curl ou quando queremos que uma página seja exibida apenas quando todo seu conteúdo foi processado.
Esta dica é bem rápida. Pretendo no futuro postar algo mais completo.
Utilizaremos as funções de Buffer do PHP.
Vamos aos exemplos então:
<?php
echo 'Saida';
A instrução acima retornaria
'Saida'
Mas vamos supor que não queremos esta saída e, sim, guardar a informação dentro de uma variável. Para isto usamos um buffer.
<?php
ob_start();
echo 'Saida';
$output = ob_get_contents();
ob_end_clean();
Este script não retorna valor pois apontamos a saída para a variável $output. Aqui ob_start() inicia o buffer, gravando tudo que é enviado para a saída padrão. ob_get_contents() joga tudo que foi gravado no buffer até aquele ponto dentro de uma variável e ob_end_clean() encerra a gravação e limpa o buffer.
Assim podemos aproveitar a variável $output para efetuar outros tipos de tratamento ou mesmo enviar este conteúdo para um arquivo.
<?php
ob_start();
echo 'Saida';
$output = ob_get_contents();
ob_end_clean();
$fp = fopen('arquivo.txt', 'w');
fwrite($fp, $output);
fclose($fp);
Por hoje é isto.
Comentários
Postar um comentário