Criar Web, manuais e recursos para desenvolvimento web
Manuais
Programas
FAQS
Diretório
Comunidade
  Inicio > Manuais > Workshop de PHP
SEÇÕES
Manuais relacionados
+Workshop de PHP
Categorias
+Scripts em PHP

Índice do Manual Workshop de PHP
+ Gestão de ficheiros através de PHP
+ Upload de ficheiros com PHP
+ Verificar a existência de uma URL
+ Leitura sequencial de ficheiros com PHP
+ Escritura em ficheiros com PHP
+ Gestão de directórios com PHP
+ Função que escreve um campo select com valores de uma base de dados
+ Receber o último ID de uma inserção com PHP e MySQL
+ Recolher dados de um Select Multiple com PHP
+ Enviar e-mails pelo PHP
+ Validar um endereço email em PHP
+ Loop para receber todas as variáveis por POST em PHP
+ Enviar um formulário por mail com PHP
+ Paginação de resultados com PHP e MySQL
+ Usuários ativos com PHP
+ Listas de elementos com cores alternas em PHP
+ Programas de livre distribuição em PHP
+ phpMyAdmin
+ Formatação de uma cadeia
+ Cálculo dos dias de um mês em PHP
+ Contador simples para páginas PHP
+ Avaliações dos usuários em PHP
+ Rastrear os robôs de buscadores
+ Recomendar um site usando PHP
+ Criação de um log de erros
+ Comprimir página PHP
+ Contador PHP com imagens
+ Editor PHP Maguma Studio
+ SiteMaps de Google em PHP
+ Teste de velocidade de conexão à Internet
+ Mostrar Conteúdo de acordo com o país em PHP
+ Conteúdos em banco de dados com PHP
+ Problemas com as datas em timestamp Unix de PHP
+ Contar o número de linhas e caracteres em arquivo PHP
+ Transformação Doc, Odt ou Rtf para PDF
+ Preencher um arquivo RTF e gerar o PDF
+ Converter arquivos ods ou xls para pdf
+ PHP isam, ferramenta Web para Arquivos Planos
+ Undefined variable ou Undefined index
+ Agregar carinhas ao sistema
+ Paginator, script para paginação com PHP e MySQL
+ Executar scripts PHP automaticamente através do cron com CURL
+ Uso do FTP com PHP
+ Instalação de One or Zero PHP Helpdesk
+ Portal PHP Nuke
+ Gerando feed RSS de notícias em PHP
+ Blasten blt-SEARCH 1.0.5
+ Classes e Objetos em PHP
+ Recuperando a qualidade de uma imagem JPEG
+ Comprovar se existe o domínio do correio
+ Tutorial de BBCode
+ Função em PHP para o cálculo de minutos transcorridos em duas horas dadas
+ Criação de gráficos em PHP com JpGraph
+ Gerar documentos de Word RTF com PHP
+ Introdução ao Symfony
+ Arredondar decimais em PHP
+ Envio de boletins a e-mails de um banco de dados MySQL
+ Htaccess e páginas dinâmicas
+ Criando imagens com PHP
+ Programar um buscador com PHP e MySQL
+ Loop para receber todos os dados de uma fila de um recordset com PHP
+ Criação de BBcode em PHP
+ Incluir feeds em sua web em 5 passos
+ Calcular dias entre duas datas com PHP
+ Exemplo de conexão com banco de dados Access em PHP
+ Utilizar Curl para copiar uma imagem de uma web em nosso disco rígido
+ Controle da saída em PHP
+ Controle de saída em PHP II
+ Mostrar código PHP de um arquivo com cores ressaltadas
+ Propagar o identificador de sessão de PHP por cookies ou URL
+ Como converter páginas com extensão .PHP à extensão que desejar
+ Estilos CSS diferentes a uma página com PHP e cookies
+ Canonizar as URL de um domínio com PHP, escolher utilizar ou não as www.

Descrição dos capítulos


Parceiros
- CSS para Web Design
- S.O.S Designers
- Slackware-Brasil
- Crie seu Web site
- Oficina da Net
- CodigoFonte.net


Controle de saída em PHP II

Vejamos outras funcionalidades interessantes do controle da saída em PHP, para trabalhar com um buffer de saída. Eliminamos o buffer e executamos funções antes de mostrá-lo.


Continuamos explorando algumas utilidades interessantes de PHP para realizar controle de saída, através de um buffer, para não enviar ao cliente o código HTML gerado por PHP até que o programador o deseje.

Este artigo continua com o outro anterior publicado em CriarWeb.com: Controle de saída em PHP.

Agora vamos aprender a eliminar ou cancelar uma saída armazenada em um buffer e a executar funções para realizar um processamento do código armazenado em um buffer antes de enviá-lo ao cliente. Para isso, vamos conhecer novas funções:

A função ob_clean() limpa o buffer de saída. Isso quer dizer que o que tivermos no buffer de saída se perderá.

A função ob_end_clean() serve para limpar o buffer de saída e ademais desabilitá-lo. Ou seja, termina de trabalhar com o buffer e ainda descarta todas as mudanças que tiverem sido incluídas no buffer.

Também utilizaremos um parâmetro que não tínhamos visto da função ob_start(parâmetro). Esse parâmetro serve para indicar o nome de uma função que será chamada antes de enviar o buffer de saída ao cliente.

Vejamos este código, que faz uso das novas funções e vamos explicando a seguir passo a passo.

<html>
<head>
   <title>Página processada com buffer de saída</title>
</head>
<body>
<?
//inicio o buffer de saída
ob_start();

echo "Oi!!! Isto vai ao buffer!";

//limpo o buffer de saída
ob_clean();

echo "Outra vez escrevo!!";

//limpo o buffer de saída e o desabilito
ob_end_clean();

echo "Isto sim que vai aparecer na página<br>";

function converte_caracteres_especiais($buffer){
   return htmlentities ($buffer);
}

//inicio o buffer de saída
ob_start("converte_caracteres_especiais");

echo "Tinha que provar mais coisas. Espero que se leia com interesse.";

ob_end_flush();
?>
</body>
</html>


Com ob_start(); iniciamos o buffering da saída. A partir de agora tudo o que se escrever na página se salvará no burffer. Portanto, o seguinte echo "Oi!!! Isto vai ao buffer!"; se salvará no buffer.

Com a linha ob_clean(); se apaga o conteúdo do buffer, por isso a saída armazenada se perde. Ou seja, o echo anterior não se mostrará na página.

O buffer, apesar de estar recém limpo, continua ativo. Por isso com o echo "Outra vez escrevo!!";, o texto continuará inserindo-se no buffer.

Logo, com a linha ob_end_clean(); se apaga o conteúdo do buffer e se desabilita. Perdemos outra vê tudo que tiver sido escrito na página a partir do início de uso do buffer, portanto o anterior echo não se mostrará.

Na seguinte linha fazemos um echo "Isto sim que vai aparecer na página<br>"; Como tínhamos desabilitado anteriormente o buffer com ob_end_clean(), esse texto se irá direto à saída e chegará ao navegador que solicitou a página.

Logo no código vemos uma declaração de uma função:

function converte_caracteres_especiais($buffer){
   return htmlentities ($buffer);
}

Utilizaremos esta função para executá-la antes de enviar o buffer ao cliente. Recebe um parâmetro que é o buffer que se está processando. Dentro da função se podem realizar ações e se deve devolver um valor, que será o que definitivamente se envie ao navegador do visitante.

Para dizer ao PHP que se deve executar essa função antes de enviar o buffer ao cliente se deve iniciar o uso do buffer ob_start(parâmetro), com o parâmetro que é o nome da função, tal como comentamos antes.

ob_start("converte_caracteres_especiais");

O seguinte echo "Tinha que provar mais coisas. Espero que se leia com interesse."; se coloca no buffer. E finalmente com ob_end_flush(); se envia o buffer ao cliente.

Como ao iniciar o buffer havia sido indicado um parâmetro com o nome da função converte_caracteres_especiais() se executará essa função antes de enviar o conteúdo ao cliente web.

Nesse função simplesmente se processa o buffer, convertendo os caracteres especiais que tiver em seus correspondentes códigos especiais de HTML, com htmlentities().

Portanto, o texto que se enviará ao cliente é o texto que tiver no buffer depois de executar htmlentities().

Conclusão e resultado do controle de saída de PHP

Para acabar, podemos ver o código que se geraria e se enviaria ao cliente como resultado do processamento dessa página.

<html>
<head>
   <title>Página processada com buffer de saída</title>
</head>
<body>
Isto sim que vai aparecer na página<br>&lt;br&gt;Tinha que provar mais coisas. Espero que se leia com interesse.</body>
</html>

Autoria e outras referências sobre este artigo

Manuais relacionados com este artigo
Dentro de Workshop de PHP

Categorias relacionadas
Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo:
+ Entrar em Scripts em PHP


Comentários dos visitantes
Os comentários dos visitantes são para ampliar a informação do artigo. Todos podem participar.
Acrescentar um comentário do artigo Acrescentar um comentário do artigo



Sobre nós | Copyright | Anuncie | Entrar em contato <criarweb>

Hospedado por Hostnet Hospedagem de Sites