Hoje vou mostrar como fazer upload de arquivos atraves do PHP, para utilizar em outros exemplos que vou postar aqui no blog.

O Upload de arquivos consiste na seleção de um arquivo qualquer no computador do usuário para ser enviado por um formulário HTML, este formulário envia as informações para uma pagina onde copiamos o arquivo do computador local para uma pasta dentro do servidor onde o site está hospedado. Após o upload podemos compactar, renomear, entre muitas outras funções que o PHP oferece.

Crie um arquivo chamado upload.html e coloque dentro o codigo conforme exemplo abaixo.
A action do form esta apontando para o arquivo “upload.php”

1
2
3
4
5
6
7
8
9
10
11
12
<html>
<form id="upload" name="upload" enctype="multipart/form-data" method="post" action="upload.php">
  <p>
    <label>
      <input type="file" name="file" id="file" />
    </label>
  </p>
  <p>
    <input type="submit" name="enviar" id="enviar" value="Enviar arquivo..." />
  </p>
</form>
</html>

Agora vamos criar o arquivo upload.php que fará todo o trabalho.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
 
//verificamos se o arquivo foi informado
if (isset($_FILES[file])) {
 
$url = "/pasta-uploads/"; //caminho onse será salvo os arquivos
$carregar = $_FILES[file][tmp_name]; //arquivo temporario
$novo_nome = date('Y-m-d')."_".$_FILES[file][name]; //criamos uma variavel com o novo nome do formato AAAA-MM-DD_nome_arquivo
 
      if(move_uploaded_file($carregar,$url)){   //copia o arquivo do computador para o servidor
         rename($url.$carregar, $url.$novo_nome);//renomeia o arquivo
 
        echo "arquivo enviado com sucesso";
      }else {
                echo "falha ao carregar arquivo";
               }
} else {
         echo "Nenhum arquivo foi selecionado!";
         }
 
?>

Cobian Backup

Hoje vou falar um pouco do Cobian Backup, um software gratuito e que oferece vários recursos para seu backup.

Algumas caracteristicas são:

-Suporte a backup FTP, diretórios e arquivos invidualmente
-Para outra HD, outro computador da rede ou FTP
-Tarefas agendadas
-Backups complementares
-Gera LOG dos eventos, simples ou detalhado
-Compacta os arquivos(opcional)
-Multi Idiomas, ingles, portugues, francês, etc…
-Eventos pré backup
-Eventos pós backup

Backup

Backup

fiz um teste com 110GB, para uma HD no mesmo computador levou cerca de 2 horas e meia.

É fácil instalar e usar, com as opções de pré backup você pode parar a aplicação, fazer o backup e iniciar a aplicação novamente.

Para baixar acesse:
http://www.cobiansoft.com/programz/cbSetup.exe

Continuação do artigo Funções básicas do MySQL – Iniciantes

Hoje vou falar um pouco sobre funções lógicas e strings.

Funções Lógicas

Podemos usar algumas funções logicas dentro do MySQL, como exemplo a comparação entre duas colunas COL1, COL2; se col1 for maior que col2, enfim vamos ao que interessa.

SSELECT IF (COL1 > COL2, )

http://dev.mysql.com/doc/refman/4.1/pt/logical-operators.html

Funções de String

As funções de string server para manipulação de texto, como remoção de espaços em branco, maiusculas e minusculas entre outros recursos, que ajuda no desenvolvimento de sites e sistemas

Antes de começarmos crie uma tabela chamada clientes conforme abaixo;

MySQL Trigger(Gatilho)

O que é um trigger ?

Trigger ou gatilho é uma função implementada a partir da versão 5.0.2 do MySQL.
Ele funciona associado a um evento do banco de dados, sempre que for executado uma instrução SQL, insert, delete ou update em determinada tabela o gatilho é disparado.

Criando um trigger

Sintaxe para criação de um trigger

CREATE TRIGGER nome_gatilho
{ BEFORE | AFTER }
{ INSERT | UPDATE | DELETE }
ON tabela
FOR EACH ROW
triggered_statement

Tradução da sintaxe

Criar um gatilho com_esse_nome
BEFORE (antes) ou AFTER (depois) da ação na tabela
INSERT(sempre que uma nova linha é inserida) ou UPDATE (sempre que uma nova linha é atualizada) ou DELETE(sempre que uma linha é deletada)
ON tabela
FOR EACH ROW
INSERT tabela_arquivo (ID, data) VALUES (tab.ID, tab.DATA);

Observações:
Se você usar multiplas instrução dentro do seu trigger é necessário usar BEGIN e END para indicar o inicio e fim da instrução do trigger.
Lembrando que é necessário alterar o delimitador antes da execução do trigger pelo comando DELIMITER || e voltando para ;(ponto e virgula) usando DELIMITER ;

Para visualizar os triggers use o comando.

mysql> SHOW TRIGGERS;

Este post é um resumo sobre trigger, para saber mais visite a documentção oficial no link(inglês): http://dev.mysql.com/doc/refman/5.0/en/triggers.html

As funções do MySQL podem ser divididas nos seguintes tipos: numericas, lógica, manipulação string, e funções de data e hora.

Funções numéricas

Iniciando hoje vou falar sobre funções numéricas que são compostas de operações matemáticas, e deve chamar a função dentro da instrução SQL.

Estou acrescentando esta parte da criação da tabela pela dica do meu xará.. crie uma tabela com o nome precos e insira as linhas conforme SQL abaixo.

CREATE TABLE `precos` (
`col1` INT( 3 ) NOT NULL ,
`col2` INT( 3 ) NOT NULL
) ENGINE =  MYISAM;

INSERT INTO `precos` (`col1` ,`col2`)
VALUES ('2', '4'), ('4', '6'),('5', '9');

Adição

SELECT(col1 + col2) as Resultado FROM precos

Suponhamos que na tabela precos você tenha 3 linhas, conforme abaixo;

col1 col2
2 4
4 6
5 9

Apos fazer a consulta o resultado seria:

Resultado
6
10
14

A consulta somou as linhas separadas, para somar o total das colunas em cada linha, ficaria assim:

SELECT (SUM(col1) + SUM(col2)) as Resultado FROM precos
Resultado
30

Subtração

SELECT(col1 - col2) as Resultado FROM precos

Resultado
-2
-2
-4

Multiplicação


O operador utilizado para mutiplicação é o ( * asterisco).

SELECT(col1 * col2) as Resultado FROM precos

Resultado
8
24
45

Divisão


O operador utilizado para divisão é a ( / barra).

SELECT(col1 / col2) as Resultado FROM precos

Resultado
0.5000
0.6667
0.5556

Se tentar dividir por zero será retornado o valor NULL

Multiplicação


O operador utilizado para mutiplicação é o ( * asterisco).

SELECT(col1 * col2) as Resultado FROM precos

Resultado
8
24
45

Módulo ou MOD


Esta função retorna o restante de dois numeros. Exemplo: 21 / 5 (vinte e um dividido por 5), o resto seria 1

SELECT MOD(21, 5) AS Resultado

Resultado
1

Olá pessoal, hoje vou escrever bem resumido para explicar O que é normalização ?

Normalização é um conjunto de regras que ajuda minimizar problemas de logica.
Ex.. não armazenar os dados de compra junto com os dados dos clientes, pois o mesmo cliente poderá fazer mais de uma compra certo!
A normalização ajuda a tornar o banco de dados mais facil de se entender, basicamente devemos passar por três passos de normalização.
1FN – primeira forma normal, 2NF – segunda forma normal, 3FN – terceira forma normal, e cada formato tem seu proprio conjunto de regras.

Se você tem interesse em banco de dados, é essencial estudar sobre normalização, um abraço a todos.

Olá pessoal, resolvi fazer uma pequena lista de alguns comandos que poderá ajudar quem não tem muito costume de usar prompt.

Apos ter instalado o MySQL em seu computador precisamos iniciar o servidor

No linux acesse a pasta do mysql

> cd mysql
> bin/safe_mysqld &

Vai aparecer uma mensagem pedindo o password

> Enter password:

Para entrar no shel do mysql

>mysql -u root -p senha

acima estamos abrindo conexão com o -usuário root e -password senha

//Lista dos comandos básicos
mysql> show databases; //mostra todos banco de dados

mysql > use nome_banco; //seleciona um banco de dados para trabalhar

mysql> show tables; //mostra todas as tabelas do banco selecionado

mysql> desc ou describe // mostra detalhes da tabela, colunas e tipo de dados

mysql> SELECT @ @datadir; //mostra o diretório de dados do mysql
cada banco de dados é separado por uma pasta com o nome do banco

mysql> select count(*) from tabela; //conta quantidade de registros(linhas) da tabela selecionada

mysql> CREATE DATABASE modelo; //cria um banco de dados chamado modelo

mysql > DROP DATABASE modelo; // Exclui o banco de dados chamado modelo e todos os dados dentro dele


Basicamente é isso pessoal, ate a proxima.

Para enviar emails atraves do PHP usamos a função mail(), que depende de alguns parametros obrigatorios como Destinatário, Assunto, Mensagem, e outros opcionais como Cabeçalho para dizer o tipo de codificação da mensagem enviada e formato texto ou HTML.

//criamos e atribuimos dados as váriaveis
$remetente = "Da Duder"; //senders name
$email = "email@adress.com"; //senders e-mail adress

$para = "PersonWhoGetsIt@emailadress.com"; //recipient
$mensagem = "The text for the mail..."; //mail body
$assunto = "Subject for reviever"; //subject
$cabecalho = "From: ". $remetente . " <" . $email . ">rn";
//função mail() que envia o email
mail($para, $assunto, $mensagem, $cabecalho);

http://br2.php.net/manual/pt_BR/book.mail.php

Você pode usar para enviar os dados de um formulário e comados HTML na mensagem.
Também poderá implementar com o comando while para envio de email em massa.

Bom dia a todos… hoje vou mostrar como conectar no banco de dados firebird usando PHP.
em alguns passos você podera conectar no firebird.

1° Passo – Instale o servidor do firebird
acesse o site http://www.firebirdsql.org/ e faça download do firebird, fiz testes usando o firebird 1.5, 2.0, e 2.5 e todos funcionaram normalmente.
Após instalar o firebird reinicie o computador.

2° Passo – O segundo passo é configurar o PHP. A biblioteca para conexão com o firebird

Localize o arquivo php.ini dentro do diretório de instalação do servidor web (apache), e em seguida abra usando um editor de texto(notepad, edit plus…).

Encontre a linha ;extension=php_interbase.dll e remova o ponto e vírgula no inicio, salve, feche e reinicie o serviço do servidor web.

Caso não encontre a linha, insira no final do arquivo.

3° Passo – Criar a conexão com o FireBird

//ibase_connect — Abre uma conexão com um banco de dados InterBase
//pode ser colocado o IP, ou nome do computador onde esta o banco de dados

$servidor = '127.0.0.1:C:/diretorio/banco.FDB';

//conexão com o banco, se der erro mostrara uma mensagem.
if (!($dbh=ibase_connect($servidor, 'SYSDBA', 'masterkey')))
		die('Erro ao conectar: ' .  ibase_errmsg());

Fazer uma consulta no banco.

//Instruções SQL
$sql = 'SELECT COLUNA1, COLUNA2 FROM TABELA';

//Executa a instrução SQL
$query= ibase_query ($dbh, $sql);

//gera um loop com as linhas encontradas
while ($row = ibase_fetch_object ($query)) {

    //imprimi as linhas na tela
    echo $row->COLUNA1 . "n";

}

//Libera a memoria usada
ibase_free_result($query);

//fecha conexão com o firebird
ibase_close($dbh);

Um erro muito comum ao tentar fazer a conexão com o firebird é a seguinte mensagem de erro;

“Warning: ibase_connect() [function.ibase-connect]: Unable to complete network request to host “127.0.0.1”. Failed to locate host machine. The specified name was not found in the hosts file or Domain Name Services.”

Para resolver é bem simples, basta inserir 2 linhas no arquivo de configuração de serviços.
Vá ate o diretorio C:WindowsSystem32driversetc e abra o arquivo services, insira no final do arquivo as seguintes linhas

gds_db    		3050/tcp    						#firebird Database
gds_db    		3050/udp    						#firebird Database

Pronto sua conexão podera ser feita com sucesso.

Para saber mais sobre os comandos que podem ser usados acesse:

http://www.php.net/manual/pt_BR/ref.ibase.php

Continuação do artigo sobre conexão com Oracle usando PHP. Vou mostrar como fazer consultas em tabelas, criar variaveis, e usar OCI_NO_AUTO_COMMIT.

//conexão com o Oracle
$conexao = oci_connect('usuario', 'senha', '127.0.0.1/nome_servico');

if (!$conexao) {
$erro = oci_error();
trigger_error(htmlentities($erro['message'], ENT_QUOTES), E_USER_ERROR);
exit;
}

//bloco da consulta SQL
$consulta = "select * from cep_localidade";
$stid = oci_parse($conexao, $consulta) or die ("erro");

//Executa os comandos SQL
$exec= oci_execute($stid);

//defini váriaveis
oci_define_by_name($stid, 'COLUNA1', $VAR1);
oci_define_by_name($stid, 'COLUNA2', $VAR2);
oci_define_by_name($stid, 'COLUNA3', $VAR3);

//Abaixo conta a quantidade de linhas retornada da consulta.
echo $nrows = oci_fetch_all($stid, $results);

oci_free_statement($stid);
//fecha a conexão atual
oci_close($conexao);

Pessoal espero que ajude e tire as duvidas de quem vai começar a usar PHP+ORACLE, é um exemplo bem simples de como fazer uma consulta no banco de dados.

Para usar INSERT, UPDATE OU DELETE use a função OCI_NO_AUTO_COMMIT e valide em seguida.

$exec= oci_execute($stid, OCI_NO_AUTO_COMMIT);
//se encontrar algum erro da um rollback NÃO efetiva a query
if (!$exec) {
    $e = oci_error($stid);
    oci_rollback($conexao);  // rollback changes to both tables
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

// COMITA a query
$exec = oci_commit($conexao);
if (!r) {
    $e = oci_error($conexao);
    trigger_error(htmlentities($e['message']), E_USER_ERROR);
}