Output buffering em PHP


Boas, aqui vai uma dica de PHP muito útil. Conhecem a função ob_start() ? Pois bem, ela permite redireccionar o output para um buffer, o que nos permite escrever algo como:

	function get_include_contents($filename,$dados) {
    
		if (is_file($filename)) {
			ob_start();
			include $filename;
			$contents = ob_get_contents();
			ob_end_clean(); 
			return $contents;
		}
		return false;
	}

O include é como no C, ou seja, o ficheiro vai ser copiado para aquela linha, e portanto consegue aceder à variável $data. Mas o output está a ser redireccionado para um buffer. Assim quando fazemos ob_get_contents() extraímos o que está no buffer para uma variável, que depois usamos como quisermos. Por exemplo podemos ter um ficheiro html, que usa os dados php, e quando o output é extraído do buffer enviamos para um email em html 8)

Esta entrada foi publicada em dicas, php. ligação permanente.

Uma resposta a Output buffering em PHP

  1. Rock Lee diz:

    ya é útil para queimar páginas.😛

    Tenho q implementar um módulo q queime e peça páginas dada uma chave.. Talvez queimando para memcache em vez de andar a criar ficheiros temporários..

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s