Edição de Imagem com PHP GD

Resumo:
Introdução

Embora PHP seja especialmente desenvolvido para geração de páginas dinâmicas (HTML), ele também possui recursos para manipular outros tipos de dados, por exemplo, imagens. Neste post, veremos como trabalhar com a biblioteca GD sem precisar criar uma matriz de cores da imagem, ou seja, trabalhar diretamente na imagem.

Constantes do PHP

Dica rápida com uma lista de constantes importantes do PHP:

  • DIRECTORY_SEPARATOR - Caractere usado para delimitar diretórios no S.O. do servidor.
  • PATH_SEPARATOR - Caractere usado para delimitar caminhos no PATH.
  • PHP_INT_SIZE - Número de bytes usado para guardar um inteiro na arquitetura do servidor.
  • PHP_INT_MAX - Maior número inteiro permitido pelo PHP na arquitetura do servidor.
  • PHP_VERSION - Versão do PHP.
  • PHP_OS - Nome do sistema operacional do servidor.
  • PHP_SAPI - Nome da sapi utilizada para acessar o script.
  • PHP_EOL - Guarda a sequência de caracteres necessária para gerar uma quebra de linha na plataforma do servidor, que normalmente é "\n" ou "\r" ou "\r\n".
  • __FILE__ - Constante mágica que guarda o nome do arquivo corrente.
  • __LINE__ - Constante mágica que guarda a linha corrente no arquivo.
  • __DIR__ - Constante mágica que guarda o diretório do arquivo corrente (a partir do PHP 5.3.0).
  • __CLASS__ - Constante mágica que guarda o nome da classe corrente (caso esteja dentro de alguma).
  • __FUNCTION__ - Constante mágica que guarda o nome da função corrente (caso esteja dentro de alguma).
  • __METHOD__ - Constante mágica que guarda o nome do método corrente (caso esteja dentro de algum).
  • __NAMESPACE__ - Constante mágica que guarda o nome do namespace corrente (a partir do PHP 5.3.0).

Usando PHP para tratar E-mail com Acentos e Caracteres Especiais

Resumo:
Introdução

Ao utilizar a função mail do PHP, você pode se deparar com um inconveniente por causa de codificação de caracteres usada para o assunto ou o conteúdo do e-mail. O problema é que o protocolo SMTP só permite a transmissão de dados em US-ASCII. Para utilizar caracteres que não fazem parte da tabela US-ASCII, é preciso utilizar um mecanismo de codificação dos dados para que o resultado seja compatível com US-ASCII. Neste artigo, veremos como fazer isso e enviar e-mail com assunto e conteúdo corretamente.

Problemas com Charset? Nunca mais

Resumo:
Hommer assustado com um caractere exibido incorretamente
Introdução

Vira e mexe existe alguém aparecendo com problemas com apresentação de caracteres por conta de codificação de caracteres errada. Já escrevi sobre Unicode, Códigos e Símbolos Unicode e sobre HTML entities. Mas neste artigo, veremos como utilizar UTF-8 em tudo e nunca mais ver caracteres sendo exibidos errado.

PHP 5.4 (preparado para o futuro?)

Resumo:
PHP 5.4 direto do futuro
Introdução

Mal foi lançada a Release Candidate do PHP 5.3.7 e, já no dia 28/06/2011, foi disponibilizada a primeira versão do PHP 5.4 alpha. Esta versão não deve ser utilizada no ambiente de produção, apenas no ambiente de desenvolvimento para caráter de teste da nova engine.

Este artigo apresenta algumas das principais mudanças e opiniões pessoais sobre a futura versão do PHP.

Firefox 5, surpresa!

Resumo:
Firefox 5
Introdução

Dia 21/06/2011 foi disponibilizada a versão final do Firefox 5. Dizem por aí que tem muita gente que "foi pega de surpresa", alguns chegaram a criticar a nova postura da equipe de desenvolvimento, enquanto outros ficaram entusiasmados com a agilidade com que novos recursos serão disponibilizados. E você? O que acha disso tudo?

Funções Estatísticas em PHP

Resumo:
calculadora estatística
Introdução

Em sistemas integrados de gestão (que atendem ao nível operacional, gerencial e estratégico), é muito comum o cálculo e apresentação de resultados estatísticos de dados gerados pelo nível operacional. Com estes resultados, é possível montar gráficos que facilitam a visualização (postei outro dia como gerar gráficos com o google chart). Neste artigo serão apresentadas algumas funções úteis para o cálculo de algumas informações estatísticas.

CSS Gradient

Resumo:
Introdução

Acompanhando o site da especificação da futura CSS 3, achei algo bacana: CSS Gradient. Este recurso permite aplicar um degradê de uma cor para outra no fundo de um elemento. E não são degradês simples (de uma cor para outra) apenas. É possível especificar várias cores, o sentido em que caminhará o degradê, e em que pontos haverá mudança de cor, ou seja, é possível especificar várias cores e obter resultados muito bonitos.

Salário de Profissionais de TI

programador

Recentemente o Olhar Digital postou uma notícia com uma pesquisa sobre a média salarial de profissionais de TI nas cidades de São Paulo/SP, Rio de Janeiro/RJ e Campinas/SP. Veja os dados da pesquisa no link:
http://olhardigital.uol.com.br/negocios/digital_news/noticias/saiba_quanto_ganham_os_profissionais_de_ti_em_sp_rj_e_campinas

Layout para Dispositivos Móveis

Resumo:
celular acessando a web
Introdução

A web tem mudado muito nos últimos anos. Antigamente, a resolução mais indicada para desenvolvimento de sites era 800x600. Muitos sites optavam por um layout de largura fixa de aproximadamente 780px e deixavam margens desocupadas nas laterais. Com o tempo, a resolução dos computadores pessoais e notebooks foi aumentando, passou para 1024x768. Recentemente, é comum utilizar uma resolução acima de 1024x768.

Por outro lado, um outro mercado tem cada vez mais se conectado à web: o mercado de dispositivos móveis de pequeno porte. Este mercado inclui celulares, smartphones, ipads, tablets, etc. Alguns destes dispositivos tem uma resolução compatível com um notebook (por exemplo, os tablets), mas outros tem resoluções muito pequenas. Neste cenário, o desenvolvimento web precisa de uma outra atenção para atender a um público ainda maior.

Acesso do Apache a outras partições

Resumo:
Quadro sobre os índios apache

Ontem me deparei com um problema que eu nunca tinha visto antes. Instalei o Apache no Fedora 14 (Linux), que vem configurado para utilizar o diretório "/var/www/html" como repositório de sites, mas ele não estava conseguindo acessar arquivos/diretórios em outras partições.

Search Engine Optimization (SEO)

Resumo:
search engine optimization
Introdução

Search Engine Optimization (Otimização para Mecanismos de Busca) ou simplesmente SEO é um termo que tem aparecido cada vez mais vezes no meio tecnológico e dos negócios. Na atual "Era da Informação" e pelo atual nível de globalização, ter visibilidade digital (entre outras) tem grande importância econômica. A visibilidade digital é conquistada de diferentes formas e este artigo apresenta algumas delas, explicando o conceito de SEO.

Percorrendo elementos de um HTML com PHP

Resumo:

Muitas vezes vi programadores perguntando como se faz para um script PHP obter os links de um documento HTML (obter os links de uma página) ou então as imagens (obter as imagens de uma página) ou outro elemento qualquer. Este artigo mostra como percorrer elementos de um documento HTML e capturá-los de acordo com seu nome ou atributo. Para tanto, é utilizada a extensão DOM.

Obtendo dados do Navegador pelo User Agent ID usando PHP

Resumo:
Introdução

A arquitetura de aplicações Web define que o documento gerado dinamicamente no servidor seja renderizado através de um programa (navegador Web ou "browser") no computador cliente. Normalmente são utilizadas as linguagens HTML e CSS para geração do documento. No entanto, existem vários navegadores disponíveis no mercado, cada um com características próprias e com um motor (engine) de renderização específico, que procura (ou não) seguir as especificações da W3C a respeito das linguagens citadas, e manter um certo "padrão de qualidade" do resultado visual.

Diante das diferenças entre os motores de renderização, pode ser útil detectar qual deles o cliente está usando para, talvez, aplicar alguns ajustes no layout, seja para torná-lo mais atrativo, seja para contornar algum bug no motor de renderização.

Neste artigo, veremos como detectar qual programa está acessando o sistema e, a partir disso, conseguir ajustar o layout de acordo com este valor detectado, ou oferecer o download de um programa para uma plataforma específica, ou simplesmente gerar estatísticas sobre os programas usados por quem acessa o sistema.

Google Web Fonts

Dica rápida: o Google Web Fonts permite utilizar algumas fontes estilizadas com facilidade no seu site. Basta seguir estes passos:

  1. procurar uma fonte no site Google Web Fonts,
  2. clicar sobre uma fonte,
  3. clicar sobre "Use this font",
  4. copiar a tag <link> para dentro do <head> da sua página e
  5. aplicar a diretiva font-family sobre os elementos desejados via CSS.

Obtendo dados de tabelas, colunas e relacionamentos no PostgreSQL

Resumo:
Elefante
Introdução

No post anterior, vimos como consultar informações sobre tabelas, colunas e relacionamentos em bancos de dados MySQL. Neste post serão apresentados os recursos correspondentes no banco de dados PostgreSQL.

Diferente do MySQL, o PostgreSQL não possui um banco de dados reservado chamado information_schema. Ao invés disso, possui algumas tabelas reservadas prefixadas por "pg_".

Obtendo dados de tabelas, colunas e relacionamentos no MySQL

Resumo:
Golfinho
Introdução

Ao desenvolver um framework ou um sistema que possui uma "porta dos fundos" para o BD, onde é possível acessar a base de dados diretamente através de uma interface genérica, podemos precisar obter informações sobre as tabelas, colunas, relacionamentos, etc. No MySQL, estas informações ficam em um banco reservado chamado information_schema, que possui diversas VIEWS para consulta de dados.

Este artigo apresenta algumas SQLs úteis para se obter informações a respeito de tabelas, colunas, índices, chaves e relacionamentos entre tabelas, no SGBD MySQL.