Pular para o conteúdo principal

Caracteres de nova linha no PHP

Como sabemos, todos os caracteres que estão fora das TAGS de abertura e fechamento do PHP “<?php ?>” são copiados pelo interpretador e enviados para a saída padrão diretamente. Incluindo caracteres de nova linha. Por padrão a maioria dos navegadores ignora esses caracteres, pois eles não fazem parte da semântica do HTML.  Porém, devemos lembrar que esse caractere também é utilizado na resposta de requisições HTTP geradas pelo WebServer e serve para separar o header do restante dos dados. Portanto a saída de um caractere de nova linha antes de todos os cabeçalhos terem sido escritos poderá causar problemas.

Como quando precisamos alterar o header por exemplo, sabemos que isso deve ser feito antes de qualquer saída ter sido enviada ao browser. Caso contrário ele irá gerar um erro como esse:
Cannot send session cookie - headers already sent by (output started a....

Pois os cabeçalhos já haviam sido escritos.

Caracteres de nova linha após a tag de fechamento "?>" de arquivos incluídos com os comandos include ou require também podem gerar esse problema. Para ajudar a amenizar o problema, o parser elimina automaticamente o primeiro caractere de nova linha após a tag "?>". Essa regra também ajuda a lidar com alguns editores que acrescentam automaticamente uma nova linha no final do arquivo.


Uma maneira fácil de prevenir outputs indesejados é omitir a tag the fechamento do final do arquivo php, que o analisador (parser) considera isto perfeitamente legal.


Referências:
php|architect’s Zend PHP 5 Certification Guide. David Shafik and Ben Ramsey.

Comentários

Postagens mais visitadas deste blog

Virtualizando Mikrotik Com VirtualBox

Este texto mostra um passo-a-passo para instalar o mikrotik em uma máquina virtual do VirtualBox, seja somente para testes ou para montar realmente um servidor para a rede. Antes de iniciarmos nossa aventura é interessante visitar o site do Mikrotik e baixar uma imagem ISO que é disponibilizada no site com uma licensa full durante 24h. Iremos utilizá-la para instalar o Mikrotik. Para tanto, vá até a página de download do Mikrotik (http://www.mikrotik.com/download.html), em “select system type” escolha a opção “Other X86 platform” e em “Select Software Type” escolha "stable". Depois basta clicar em “ISO image” e baixar o arquivo. 1 – Abra o Virtual Box e clique em “Novo” para que possamos criar uma nova máquina Virtual onde será instalado o mikrotik.     2 – Irá aparecer uma tela de boas vindas, basta clicar em próximo para ir à próxima fase:     3 – Na próxima tela é dada a opção de escolher o nome da máquina virtual, o S.O. e sua respectiva versão. No cam...

Instalação do RVM no Ubuntu 12.10

Primeiro vamos instalar os pacotes build-essential e git-core:  $ sudo apt-get install build-essential git-core A instalação do RVM é feita utilizando CURL. Se você ainda não tem ele instalado instale-o: $ sudo apt-get install curl Para instalar a RVM use o comando abaixo: $  bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer) Agora precisamos adicionar uma linha ao arquivo bashrc para que o bash saiba aonde encontrar a RVM. Para isso execute o comando abaixo, mas certifique-se de substituir ‘fernando’ pelo seu nome de usuário. $ echo   '[[ -s "/home/andre/.rvm/scripts/rvm" ]] && source "/home/andre/.rvm/scripts/rvm"'  >> ~/.bashrc Agora execute:  $ source ~/.bashrc Podemos ver se a RVM está corretamente instalada através do comando:  $ type rvm | head -1 Agora precisamos ver os req...

Gerando Planilha xls com o PHP

Neste post falo sobre este recurso que pode ser bastante útil dentro de um ambiente corporativo, onde é necessário estar gerando determinados relatários. Bem, ontem tive um probleminha, me vi diante da necessidade de gerar uma planilha do excel e não fazia idéia de como poderia fazer isso. Depois de muito estudar e pesquisar percebi que, apesar de ser algo bem simples de implementar, muita gente tem dificuldade em aprender e muitos posts que encontrei por aí simplesmente não funciona. Existem algumas formas de gerar uma planilha usando PHP. Se você procurar na internet irá encontrar várias classes já prontinhas com várias funções para auxiliar na geração da planilha. O método que vou abordar aqui é o método mais simples, vamo criar tudo na "munheca". Por incrível que parecer o código é bastante simples, veja: <?php //primeiro precisamos acrescentar alguns cabeçalhos para que o arquivo que iremos exportar um arquivo xls header("Content-type: application/vnd.ms-...