O método GET

form method=”get”
Faz com que os dados do formulário sejam enviados na URL do endereço que constar no action da tag
ou quando queremos passar dados para outra página usando a URL.

Veja um exemplo:
http://www.fabianobento.com.br/home/busca.php?codigo=4321

Se precisar passar mais um um valor pela URL é necessário colocar o simbolo “&” para separar.

Veja um exemplo:
http://www.fabianobento.com.br/home/busca.php?codigo=4321&nome=fabiano bento

O método POST
Faz com que os dados do formulário sejam enviados ao endereço do que constar no action da tag

Veja um exemplo:

/forma página cadastrar.php receberá as informações pelo nome do campo “nomecompleto” e o valor informado pelo usuário.
Para recuperar essas informações use o comando $_POST[‘nomecompleto’];

Para começar a escrever sua primeira página em PHP, crie um arquivo chamado teste1.php no diretório root do servidor web.
Coloque dentro do arquivo teste1.php o seguinte codigo

1
2
3
<?php
echo "Minha primeira página em PHP";
?>

Abra o navegador e acesse o endereço do servidor web http://localhost/teste1.php
Se ocorrer tudo certo vai apacer na pagina “Minha primeira página em PHP”.

Em breve estarei mostrando como instalar um servidor web em seu computador para começar a desenvolver paginas em php.

PHP

PHP (um acrónimo recursivo para “PHP: Hypertext Preprocessor”) é uma linguagem de programação de computadores interpretada, livre e muito utilizada para gerar conteúdo dinâmico na World Wide Web.

Principais características

A linguagem PHP é uma linguagem de programação de domínio específico, ou seja, seu escopo se estende a um campo de atuação que é o desenvolvimento web, embora tenha variantes como o PHP-GTK. Seu propósito principal é de implementar soluções web velozes, simples e eficientes.

Características:

* Velocidade e robustez
* Estruturado e orientação a objeto
* Portabilidade – independência de plataforma – escreva uma vez, rode em qualquer lugar;
* Tipagem fraca
* Sintaxe similar a Linguagem C/C++ e o PERL

Praticamente em todos os servidores de hospedagem de sites suporta PHP.

O PHP tem suporte a vários protocolos e banco de dados como MySQL, Oracle, Firebird, interbase, Mssql sybase, PostgreSQL entre outros. Alem de oferecer OO (orientação a objeto) a partir da versão 5 que foi lançada em 2004.

Fonte: partes do texto foram tirados do site Wikipédia

Olá pessoal, neste artigo vou mostrar como armazenar arquivos em modo binário no MySQL usando o PHP, e como recuperar estes arquivos para usá-los depois.

No banco de dados(MySQL) usaremos o campo do tipo BLOB é utilizado para armazenar arquivos binários e são dividivo em 4 tipos; TINYBLOB, BLOB, MEDIUMBLOB e LONGBLOB, a diferença é a capacidade de armazenar os dados.
Lembrando que podemos usar colunas do tipo TEXT para armazenar informações binarias também, abaixo a comparação.

-TINYBLOB, TINYTEXT – tamanho máximo de 255 – 256 Bytes

-BLOB, TEXT – tamanho máximo de 65535 – 64KB

-MEDIUMBLOB, MEDIUMTEXT – tamanho máximo de 16777215 – 16 MB

-LONGBLOB, LONGTEXT – tamanho máximo de 4294967295 – 4 GB

Observação:
-Na maioria dos servidores de hospedagem compartilhada o tipo LONGBLOB é configurada para suportar entre 50MB a 200 MB para manter o bom funcionamento do servidor.
-E que você deve analisar a real necessidade de armazenar o arquivo dentro do banco, pois isto faria sua base ficar gigante, e na maioria dos casos é gravado somente a URL(caminho do arquivo) no banco.

você poderá ler mais sobre especificaçõe de colunas do MySQL no link:
http://dev.mysql.com/doc/refman/4.1/pt/column-types.html

1° – Passo

O primeiro passo é criarmos o banco de dados e a tabela para armazenar nossos arquivos;
no exemplo o banco será chamado binario

CREATE DATABASE binario;

Agora crie uma tabela com o nome arquivos seguindo a estrutura abaixo;

CREATE TABLE `binario`.`arquivos` (
`Codigo` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'Codigo',
`NmArquivo` VARCHAR( 150 ) NOT NULL COMMENT 'nome original',
`Descricao` VARCHAR( 200 ) NULL COMMENT 'descrição do arquivo',
`Arquivo` MEDIUMBLOB NOT NULL COMMENT 'dados do arquivo',
`Tipo` VARCHAR( 15 ) NOT NULL COMMENT 'Tipo do arquivo, jpeg, doc, mp3, etc..',
`Tamanho` INT NOT NULL COMMENT 'Tamanho em bytes',
`DtHrEnvio` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Data e Hora de envio'
) ENGINE = MYISAM ;
 
/*
Claro que você deve implementar a tabela conforme a necessidade do seu projeto.
*/

2° – Passo

O proximo passo é criar um formulário HTML, para fazermos UPLOAD do arquivo que será gravado.
Não vou entrar em detalhes dos comandos HTML.

<pre escaped=”true” lang=”html” line=”1″>
form id=”upload” action=”upload_binario.php” enctype=”multipart/form-data” method=”post”

<label>
<input id=”file” name=”file” type=”file” />
</label>

<input id=”enviar” name=”enviar” type=”submit” value=”Enviar arquivo…” />
/form

</pre>

3° – Passo

Este é o ultimo passo para envio do arquivo para o banco de dados.
Antes de prosseguir crie um arquivo para conexao com o banco de dados.

//conexao.inc.php
$conexao = mysql_connect("localhost","root","password");
 mysql_select_db("binario");

Crie um arquivo chamado upload_binario.php

require_once('conexao.inc.php');
 
//recupera os dados enviados atraves do formulário
//NOME TEMPORÁRIO
$file_tmp = $_FILES["file"]["tmp_name"];
 //NOME DO ARQUIVO NO COMPUTADOR
$file_name = $_FILES["file"]["name"];
//TAMANHO DO ARQUIVO
$file_size = $_FILES["file"]["size"];
//MIME DO ARQUIVO
$file_type = $_FILES["file"]["type"];
 
//antes de ler o conteudo do arquivo você pode fazer upload para compactar em .ZIP ou .RAR, no caso de imagem você poderá redimensionar o tamanho antes de gravar no banco. Claro que depende da sua necessidade.
 
//Para fazer UPLOAD poderá usar COPY ou MOVE_UPLOADED_FILE
//copy($file_tmp, "caminho/pasta/$file_name");
//move_uploaded_file($file_tmp,"caminho/pasta/$file_name");
 
//lemos o  conteudo do arquivo usando afunção do PHP  file_get_contents
$binario = file_get_contents($file_tmp);
// evitamos erro de sintaxe do MySQL
$binario = mysql_real_escape_string($binario);
 
//montamos o SQL para envio dos dados
$sql = "INSERT INTO `binario`.`arquivos` (`Codigo` ,`NmArquivo` ,`Descricao` , `Arquivo` ,`Tipo` ,`Tamanho` ,`DtHrEnvio`)
VALUES ('NULL', 'foto.jpg', '$file_name', '$binario', '$file_type', '$file_size', CURRENT_TIMESTAMP)";
//executamos a instução SQL
mysql_query("$sql") or die (mysql_error());
?

Exibindo ou baixando o arquivo do banco de dados.
Vamos criar um arquivo chamado listar.php para mostrar todos arquivos gravados em nossa tabela arquivos e o link para visualizar o arquivo.

require_once('conexao.inc.php');
 
$consulta = "SELECT `Codigo`,`NmArquivo`,`Descricao`,`Tipo`,`Tamanho` 	FROM `arquivos`";
$resultado = mysql_query($consulta);
 
while($dados = mysql_fetch_array($resultado)){
$Codigo = $dados['Codigo'];
echo " | Arquivo: " . $dados['NmArquivo'];
echo " | Descriçao:" . $dados['Descricao'];
echo " | Tipo:" . $dados['Tipo'];
echo " | Tamanho:" . $dados['Tamanho']; // você pode fazer divisão por 1024 para mostrar em MB
echo " &gt;&gt; <a href="ver_arquivo.php?codigo=$Codigo" target="_blank" rel="noopener">Ver arquivo</a>";
}
 
?

Agora criaremos o arquivo ver_arquivo.php que será responsável por mostrar o arquivo do banco de dados, selecionado

require_once('conexao.inc.php');
 
//recuperar o codigo do arquivo atraves do metodo GET
$codigo= $_GET['codigo'];
 
$consulta = "SELECT `Arquivo`,`Tipo` FROM `arquivos` WHERE Codigo= ' ".$codigo." ' ";
$resultado = mysql_query($consulta);
 
$dados = mysql_fetch_array($resultado);
$tipo = $dados['Tipo'];
$Arquivo = $dados['Arquivo'];
 
   //EXIBE ARQUIVO  - se o navegador não oferecer suporte para a extensão sera solicita dowload do arquivo
   header("Content-type: ".$tipo."");
   echo $Arquivo;
 
?

file_get_contents — Lê todo o conteúdo de um arquivo para uma string
mysql_real_escape_string — Escapa os caracteres especiais numa string para usar em um comando SQL, levando em conta o
copy — Copia arquivo
move_uploaded_file — Move um arquivo enviado para uma nova localização

Download – banco
binario.sql

Pessoal basicamente é isto, um script que poderá ser usado de várias maneiras e melhorado por você conforme sua necessidade.