Pular para o conteúdo principal

Postagens

WAMP não carrega o postgre...corrigido!

Uso o WAMP (acrônimo de W indows, A pache, M ySQL e P HP) para instalar tudo o que preciso para fazer sites, mas um problema que acontecia direto comigo era não conseguir fazer subir os serviços do postgre. Uma solução antiga era instalar o php 5.2.5 que as bibliotecas voltavam a funcionar. Hoje descobri uma outra solução. Basta colocar no httpd.conf do apache a seguinte linha: LoadFile "C:/Program Files/PostgreSQL/8.4/bin/libpq.dll" Se a versão do Postgre é outra, basta corrigir o caminho acima. Caso a versão do PHP seja a 5.4 deve-se colocar o caminho da libpq.dll que está na pasta do PHP. Seria algo do tipo: LoadFile "C:/wamp/bin/php/php5.4.3/libpq.dll"

Redimensionar imagem no php

Achei uma classe legal para redimensionar imagem. Para usá-la faça assim: // redimensiona a imagem se ela for maior que o tamanho limite $resizeObj = new resize(); $resizeObj->setImage('./img_old_5.png'); if($resizeObj->getWidth()>300 || $resizeObj->getHeight()>400){     $resizeObj->resizeImage(300, 400);     $resizeObj->saveImage('./redimensionado.jpg', 80); } A classe está abaixo: # ========================================================================# # #  Author:    Rajani .B #  Version:     1.0 #  Date:      07-July-2010 #  Purpose:   Resizes and saves image #  Requires : Requires PHP5, GD library. #  Usage Example: #                     include("classes/resize_class.php"); #         ...

Trocar símbolos por smiles

Criei uma função que utiliza a função str_replace para trocar os símbolos por smiles nos bate-papos. Usei como base os ícones e símbolos do skype. Para baixar acesse: http://www.megaupload.com/?d=8ZWE4FEG

CSS de botão estilo facebook

Para quem gosta do botão no estilo do facebook, aí vai o CSS. CSS: input[type=button], input[type=submit]{     font-family:"Lucida Grande", Tahoma, Verdana, Arial, sans-serif;     font-size:11px;     font-weight:bold;     text-align:center;     white-space:nowrap;     word-spacing:0px;     background-color:#00000000;     background-position:0px 0px;     color:#333333;     height:22px;     padding:1px 7px 2px 7px;     display:inline-block;     cursor:pointer;     background-image:url(../../images/fundo_botao.png);     border-top:1px solid #999999;     border-right:1px solid #999999;     border-bottom:1px solid #888888;     border-left:1px solid #999999;     vertical-align:middle; } Imagem de fundo: Formato q...

Auditoria em banco de dados usando triggers.

Um problema seríssimo acontece quanto uma pessoa exclui algo do banco e depois vem alguém querendo que o dado seja restabelecido ou saber quando isso aconteceu. Um jeito de resolver este problema é usando triggers ou gatilho de banco de dados. Os passos para usar são os seguintes: a) Cria-se uma tabela com os mesmos campos da tabela que se deseja controlar, mas sem chave primária. Exemplo: se a tabela é cliente, pode-se criar outra com nome cliente_auditoria b) Adiciona-se na tabela de auditoria um campo chamado dt_exclusao do tipo DATETIME; c) Executa a SQL abaixo no banco: DROP TRIGGER IF EXISTS trg_cliente_exclusao; CREATE TRIGGER trg_cliente_exclusao AFTER DELETE ON cliente FOR EACH ROW BEGIN     INSERT INTO cliente_alditoria (dt_exclusao, id_cliente, cliente)         VALUES (SYSDATE(), old.id_cliente, old.cliente);   END; d) Pronto...toda vez que alguém excluir alguém da tabela, automaticamente os dados...

Tempo de processamento

Função baseada no CodeIgniter que calcula o tempo de processamento...muito bom para ver se os códigos estão funcionando legal ou se estão muito lentos... class TempoProcessamento { var $marcas = array(); function marca($name){ $this->marcas[$name] = microtime(); } function tempo_decorrido($ponto1 = '', $ponto2 = '', $decimals = 4) { if ($ponto1 == ''){ return '{tempo_vazio}'; } if ( ! isset($this->marcas[$ponto1])){ return ''; } if ( ! isset($this->marcas[$ponto2])){ $this->marcas[$ponto2] = microtime(); } list($sm, $ss) = explode(' ', $this->marcas[$ponto1]); list($em, $es) = explode(' ', $this->marcas[$ponto2]); return number_format(($em + $es) - ($sm + $ss), $decimals); } } $tempo = new TempoProcessamento; $tempo->marca("inicio"); $tempo->marca("final"); echo $tempo->tempo_decorrido("inicio","final")." ";