Arquivo da categoria ‘php’

Formatando CPF e CNPJ

Dezembro 31, 2007

Tenho um campo em um banco da dados que armazena tanto CPF quanto CNPJ mas só com os números, sem os pontos, traços e barras. Então chega uma hora que preciso mostrar o CPF e o CNPJ com a devida formatação então em vez de escrever uma função fiz essa linha:


echo vsprintf(strlen($cpjf=”00000000000″)==11?”%s%s%s.%s%s%s.%s%s%s-%s%s”:”%s%s.%s%s%s.%s%s%s/%s%s%s%s-%s%s”,str_split($cpjf));

No primeiro argumento de vsprintf eu vejo se o tamanho da string é 11 e se for o argumento recebe a string de formatação “%s%s%s.%s%s%s.%s%s%s-%s%s” que é a do CPF e se não for recebe a do CNPJ. No outro argumento eu uso str_plit para transformar a string em um array.

Achei curioso que eu posso dar um valor à variável $cpf na resolução da expressão do primeiro argumento e ele fica disponivel para o segundo.

CPFJ - Validação de CPF e CNPJ

Dezembro 14, 2007

Recentemente precisei validar CPF e CNPJ com PHP. Via Google vi algumas soluções e quase fiquei com uma do Evaldo Junior Bento. Porém passeando pelo código das funções fiquei incomodado e resolvi fazer a minha própria. Com vocês o CPFJ! Download do Arquivo

Essa única função valida CPF e CNPJ retornando true caso sejam válidos e false caso não sejam.

Features:

  • Aceita CPFs e CNPJs com ou sem pontos, traços e barra
  • Valida contra caracteres não numéricos
  • Valida contra CPFs e CNPJs compostos de um único algarismo. Por exemplo: 111.111.111-11
  • É uma função 2 em 1
  • Tem a menor quantidade de linhas do mercado :-D

Agradecimento especial a Telmo Ghiorzi do Cape Canaveral pela explicação do cálculo de DVs e Módulos 10 e 11.

UPDATE: A Fernanda Freire me avisou que a conta no 4shared havia expirado então coloquei o arquivo no Google Pages. O link “Download do Arquivo” está funcionando novamente.

Acesso a banco de dados no PHP

Dezembro 1, 2007

O Tárcio disponibilizou uma classe de acesso a banco de dados que ele criou e isso me despertou a também mostrar como lido com meus dados no dia-a-dia.

Eu defino meu acesso ao banco de dados em um arquivo que mais tarde será incluido em outro, onde precisarei usar funções que acessam o banco de dados. O nome desse arquivo varia muito de programador para programador. Uns chamam database outros db, enfim o nome não é importante.

Minha conexão é a mais simples possível:

mysql_connect(’host’,'login’,'password’);
mysql_select_db(’database’);

O que geralmente faço é tratar a conexão e em caso de falha exibir uma mensagem amigável e mandar uma mensagem via msn ou email para o administrador, se possível, mas prefiro tratar disso em outro post.

A seguir defino uma simples função de select:

function select($sql) {
if (!($resultado = mysql_query($sql))) {
echo ‘Erro ao selecionar : “‘, $sql, ‘” Causa: “‘,mysql_error(), ‘”<br>’;
return false;
} else {
while ($linha = mysql_fetch_array($resultado)) {
$retorno[] = $linha;
}
return empty($retorno)?array():$retorno;
}
}

Essa função tem duas boas vantagens: Já “fetcha” o resource mysql em um array e caso não haja retorno retorna um array vazio. Gosto disso por que geralmente uso a função de select dentro de um foreach e sem a função ele daria um erro caso não conseguisse achar nenhum registro.

A seguir uma função command:

function command($sql) {
if (!($resultado = mysql_query($sql))) {
echo ‘Erro do Banco de Dados: ‘, mysql_error(), ‘<br>’;
return false;
} else {
return true;
}
}

Essa só serve para mandar instruções de insert, update e delete. Gosto dela por que ela sempre retorna true ou false.

Por enquanto essas funções parecem não fazer muito sentido mas esperem os próximos posts e verão como elas fazem a diferença.

GAP

Novembro 26, 2007

Finalmente o primeiro resultado do projeto GAP (Gerador Automático de POSTS) saiu: no blog tudonavida tivemos o primeiro POST criado automaticamente pelo autor virtual Manfredo.

A idéia surgiu quando vi um snippet do Zend Studio que implementava madlibs. Infelizmente o código era meio antigo (2003) mas como a idéia era boa fui inspirado a escrever o GAP.

A idéia original era que o próprio usuário entrasse com as expressões que preencheriam a estória, mas, como eu queria algo autómático eu criei as tags. Com as tags basta colocar a categoria que o próprio sistema se encarrega de entretecer (weaving) as expressões.

Para o futuro, assim que o GAP amadurecer, espero implementar um reconhecimento de categorias baseado em memória para que ele possa escrever suas próprias estórias.

OpenSocial do Google vai fazer maravilhas com o Orkut

Novembro 1, 2007

O Google está correndo atrás do prejuízo imitando o facebook e criando uma plataforma de APIS para integrar redes sociais.

Isso significa que você poderá, por exemplo, enviar um recado para um amigo seu no Orkut da mesma página aonde você está vendo um novo modelo de computador, um CD ou um fotolog.

Para mais informações tem essa matéria do pmarca

Bom dia, PHP

Outubro 10, 2007

Um script simples para exibir uma mensagem de acordo com a hora do dia. Além de uma mensagem também poderíamos colocar uma imagem ou redirecionar para outra parte do site.

<?php
switch($hora = date(”G”)) {
case $hora > 0 && $hora <= 6: echo “Vai Dormir!”; break;
case $hora > 6 && $hora <= 12: echo “Bom dia!”; break;
case $hora > 12 && $hora <= 18: echo “Boa Tarde!”; break;
case $hora > 18 && $hora <= 23: echo “Boa Noite!”; break;
}
?>

Powered by ScribeFire.

Paamayim Nekudotayim

Setembro 26, 2007

Vivendo e aprendendo. O nosso querido Operador de Resolução de Escopo (: :) tem um nome oficial, Paamayim Nekudotayim, que em hebraico quer dizer “dois pontos”. Descobri isso graças ao Tárcio.

Powered by ScribeFire.

PHP na linha de comando - Parte I : Olá, Mundo!

Setembro 24, 2007

Você sabia que um script PHP pode ser executado na linha de comando como se fosse um script shell?

Primeiro coloque o caminho da instação o PHP no path do Windows:

  1. Clique com o botão direito em “Meu computador” na área de trabalho do Windows.
  2. Clique em “propriedades”.
  3. Escolha a aba “Avançado”
  4. Clique no botão “Variáveis de ambiente”
  5. Na sessão “Variáveis do sistema” escolha a opção por “Path” e clique em editar
  6. No final do campo de texto que aparecer digite o caminho do diretório de instalação do PHP precedido por “;”. Por exemplo, o meu diretório de instalação é “;C:\Arquivos de programas\xampp\php” o “;” serve para separar do último diretório que estiver no Path.

Pronto, agora é só criar um arquivo php como o seguinte:

<?php
echo "Ola, Mundo!";
?>

que salvei como oi.php e executá-lo da linha de comando:

c:\> php oi.php

A extensão não importa na hora de executar o arquivo.

Usuários do Linux ainda tem um bônus: basta inserir na primeira linha a instrução “#!/usr/bin/php” e executar o arquivo normalmente com o “./”.

Para saber mais veja o capítulo 43 do manual do PHP.

CakePHP

Março 21, 2007

De vez em quando saio à procura de frameworks PHP. Na minha última empreitada achei o CakePHP  e fiquei entusiasmado com ele. Já me cadastrei na comunidade americana e brasileira. Muito bem documentado, bem planejado e com muitos recursos.

FCKEditor

Março 9, 2007

O fckeditor é um componente que cria um editor parecido com o Word para que o usuário de uma página crie textos bem mais elaborados. Veja esta demonstração on-line. Disponível para PHP e ASP.