Nuvem de TAG's

Publicidade

Arquivo

Merece Um Clique

Firefox

Visitantes

free counters
  • 14fev

    Então você, assim como eu, tentou fazer um redirecionamento ($this->redirect) ou tentou gravar alguns dados de sessão ($this->Session->write) no CakePHP e deu de cara com a mensagem

    Warning (2): Cannot modify header information – headers already sent by…

    Por incrível que pareça, a solução é mesmo aquela que encontramos nos resultados de pesquisa, onde a maioria fala, mas não explica direito:

    Caracteres inválidos no início ou no fim de alguma página… eu explico (direito) como funciona:

    Para você resolver esse problema é fácil: Na mensagem de erro é exibido um caminho para algum arquivo de sua aplicação, e é esse arquivo que precisa ser verificado, nenhum mais. Veja o meu caso (criei o erro propositalmente):

    Warning (2): Cannot modify header information – headers already sent by (output started at /home/clcjuris/public_html/leis/app/controllers/users_controller.php:1) [CORE/cake/libs/controller/controller.php, line 636]

    Essa parte em destaque é o caminho arquivo que está dando pau, e aquele número no fim é a linha do código que está bugada. Neste caso, a linha 1.

    O erro? um espaço em branco coloquei no arquivo, antes do <?php . Sério. :)

    em alguns casos aparecem “do nada” alguns caracteres estranhos, ou um ponto, ou um espaço-em-branco no ínicio ou no fim do código, sempre imediatamente antes ou depois das tags de abertura ou fechamento do php (<?php / ?>) Outra coisa que também “dá pau” é a tag abreviada (<?).

    Então é isso. Deu pau? abra o arquivo apontado pela mensagem de erro, procure e elimine qualquer caracter ou espaço-em-branco antes da apertura ou depois do fechamento de seu código, e seja feliz. :D

    Até a próxima!

    Tags: ,

  • 26out

    O que? você usa a função date() para obter a data/hora no PHP, e depois ainda tem que “rodar” outros scripts para poder o exibir a data por extenso em português?

    Dica: use a função strftime() combinada com a função setlocale() para resolver seu problema. assim:

    
    <?php
    // defino todas as configurações locais para português brasileiro
    setlocale(LC_ALL,'pt_BR')
    
    // exibo a data/hora de acordo com minhas preferências
    echo('hoje é %A, %d de %B de %Y');
    
    ?>
    

    Seguindo o exemplo acima você tem a data atua por extenso em português. :)

    Veja mais sobre essas funções na página oficial do PHP: setlocale() e strftime()

    Até a próxima! :)

  • 30jul

    Vamos abordar de uma maneira fácil e objetiva um recurso muito útil do PHP: A manipulação de arquivos

    Primeiro, vamos conhecer as principais funções:

    Abertura de arquivo: função fopen
    Essa função retorna um identificador do arquivo que deve ser armazenado em uma variável para o uso posterior em funções de leitura, gravação e fechamento.

    Os modos de abertura são:
    ✔ r : Somente leitura.
    ✔ r+ : Leitura e gravação. Se o arquivo já existir, irá gravar no início do
    arquivo.
    ✔ w : Somente gravação. Se o arquivo já existir, irá apagar todo o conteúdo
    prévio.
    ✔ w+ : Gravação e Leitura. Se o arquivo já existir, irá apagar todo o conteúdo
    prévio.
    ✔ a : Somente gravação. Caso o arquivo exista irá gravar no final do arquivo.
    ✔ a+ : Gravação e leitura. Caso o arquivo exista irá gravar no final do arquivo.

    Gravação de arquivo: função fwrite
    Essa função aceita argumentos na forma de um identificador de arquivo e uma string. Retorna o número de caracteres gravados.

    Leitura de arquivo: função fread
    Essa função faz a transferência do conteúdo de um arquivo (de texto) para uma variável. Aceita um identificador de arquivo e um tamanho do arquivo em bytes como segundo argumento.

    Fechamento de um arquivo: função fclose
    Para finalizar o uso de um arquivo, deve-se fechá-lo, assim todas as alterações serão salvas.  Não é necessário utilizar nenhum argumento além do próprio identificador do arquivo.


    Continue lendo… Ler tudo

    Tags: ,

  • 25mai

    Olá novamente!

    Segunda-feira, dia de curtir ressaca e aprender um pouco de programação para dar mais dor-de-cabeça… :)

    A situação é a seguinte: Você, por algum motivo, necessita saber todas as chaves de um array (arranjo). Dois  bons exemplos são quando o arranjo tem chaves do tipo string (arranjo['chave']) ou quando não se tem certeza da posição (chave) de determinado dado dentro do arranjo:

    Pois bem, para saber qual é a chave de determinado valor num array ou para retornar todas as chaves dele usa-se a função array_keys() (Ohhhhh!)

    Sintaxe:

    array_keys(arranjo) -> vai retornar um outro arranjo contendo todas as chaves do alvo.

    Exemplo:

    // montagem do arranjo
    $capitais = array(‘Brasil’ => ‘Brasilia’, ‘Argentina’ => ‘Buenos Aires’, ‘EUA’ => ‘Guantanamo’, ‘hahahaha’);
    // funcao para retornar todas as chaves
    $chaves = array_keys($capitais);

    Resultado:
    $chaves(
    [0] = ‘Brasilia’,
    [1] = ‘Buenos Aires’,
    [2] = ‘Guantanamo’,
    [3] = 0
    )

    Deve ter surgido a pergunta “porque $chaves[3] = 0 ??”

    Simples: Quando não se define uma chave, que é a mesma coisa que um índice, para um valor dentro de um array, este é definido automáticamente como o menor número inteiro disponível dentro do array começando de 0 (zero).

    É necessário um pouco de conhecimento sobre variáveis do tipo arranjo para poder acompanhar esta matéria :D

    Bom, mas você não quer saber qual é o índice (chave) de todos os valores… só que saber de onde o valor é Brasilia…

    Então você deve usar o comando assim:

    $chave = array_keys($capitais, “Brasilia”);

    Pronto!

    Resultado: $chave( [0] -> “Brasil” )

    Sinto que você já está imaginando um monte de utilidades para esta função… :)

    Se quiser mais informações a respeito, vá em: http://pt.php.net/manual/pt_BR/function.array-keys.php

    E vai tomar um banho pois você ainda está fedendo a cachaça! :D

    Tags: , , ,

  • 04mai

    Vou mostrar aqui de forma simples e rápida os principais comandos para manipular texto:

    strtoupper -> Converte todo um texto em maiúsculas

    Exemplo:

    <?php
    $str = “Este texto ficará todo em letras maiúsculas”;
    $str = strtoupper($str);
    // Resultado: ESTE TEXTO FICARÁ TODO EM LETRAS MAIÚSCULAS
    ?>

    strreplace -> substitui todo ou parte do texto

    Exemplo:

    <?php
    $str = strreplace(‘MAIÚSCULAS’,‘minúsculas’,$str);
    // Resultado: ESTE TEXTO FICARÁ TODO EM LETRAS minúsculas
    ?>

    strtolower -> Converte todo um texto em letras minúsculas

    Exemplo:

    <?php
    $str = strtolower($str);
    //Resultado: este texto ficará todo em letras minúsculas
    ?>

    ucfirst -> Converte a primeira letra de um texto em maiúscula

    exemplo:

    <?php
    $str = uffirst($str);
    //Resultado: Este texto ficará todo em letra minúscula
    ?>

    >> Vale lembrar que esta função modifica somente a primeira letra da sequencia. Para garantir que o conteúdo de uma variável fique somente com a primeira letra maiúscula deve-se combinar funcões, como abaixo:

    <?php
    $string = ‘aBcDeFgH’;
    $string = ucfirst(strtolower($string));
    ?>

    ucwords -> Retorna um texto (string) com o primeiro caracter de cada palava em maiúscula.

    Exemplo:

    <?php
    $str = ucwords($str);
    //Resultado: Este Texto Ficará Todo Em Letra Minúscula
    ?>

    subtr -> Retorna parte de um texto

    Para esta função é necessário informar onde começa e onde termina o “pedaço” de texto a ser retirado usando indices numéricos, onde o índice da primeira letra do texto é 0. Pode-se também usar números negativos para cortar o final de um texto e deixar de informar o indice inicial, que neste caso será 0 (a primeira letra)

    Exemplos:

    <?php
    $texto = “Este texto será cortado de diferentes formas”;
    $texto = substr($texto,0,22); //Este texto será cortado
    $texto = substr($texto,22); //Este texto será cortado
    $texto = substr($texto,0,-6); //Este texto será cortado de diferentes
    $texto = substr($texto,-20); //Este texto será cortado
    ?>

    Existem vários outros recursos para processamento de texto no PHP, inclusive usando expressões regulares.

    Para saber mais você pode consultar o manual do php em br.php.net ou visitar este site de vez em quando pois continuarei escrevendo sobre este e vários outros recursos do PHP. :-)

    Tags:

« Anterior