Desenvolvimento - ActionScript
Upload de arquivos em Flash (parte 2)
Veremos nesta segunda parte do tutorial como enviar a imagem do Flash para o PHP e este mesmo PHP gravar os dados no MySQL.
por Rafael CostaResumo:
Veremos nesta segunda parte do tutorial como enviar a imagem do Flash para o
PHP e este mesmo PHP gravar os dados no MySQL.
Tutorial:
Antes de começarmos, se você não leu a primeira parte, acesse este link.
Agora vamos ao que interessa.
Vimos na primeira parte do tutorial, que para enviarmos a imagem para o php,
usaríamos o seguinte comando:
fileRef.upload("upload.php?nomeArtista="+nomeArtista+"&idade="+idade+"&cidade="+cidade);
Agora precisamos fazer com que a página
upload.php receba a imagem e leia por GET, o nome do artista, a idade e a
cidade.
A lógica do script é a seguinte:
- Primeiro escolha um diretório e crie-o.
- Gere um nome único para a imagem.
- Envie a imagem para a pasta
- Grave no MySQL os dados
Vamos ao código:
Primeiro abra o seu PHP e crie as seguintes variáveis:
<?php
// Diretório para onde irão as imagens
- Não se esqueça de criar esta pasta no diretório do upload.php
$dir = "imagens/";
// Recebendo o arquivo do Flash
$file = $_FILES["Filedata"];
// Pega a extensão do arquivo enviado
pelo Flash
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i",
$file["name"], $ext);
Pois bem. Após feito isso, precisamos gerar o nome único para a imagem. O
código seguinte fará isto:
// Gera o nome único para a imagem
$imagem_nome = md5(uniqid(time())) .
"." . $ext[1];
Vamos agora, criar mais uma variável, com
a pasta e o nome e enviar o arquivo para esta pasta com o nome gerado acima.
$imagem_dir = $dir . $imagem_nome;
O script abaixo enviará o arquivo para a
pasta e mudará a permissão da pasta, caso ela ainda não tenha.
// Envia o arquivo para a pasta de
destino
move_uploaded_file($file["tmp_name"],
$imagem_dir);
// Muda o CHMOD da pasta
chmod($dir, 0777);
Você poderá ver que com este script, o
arquivo já estará na pasta. Mas como precisamos destes dados no mysql, vamos
capturar as variáveis de nome, cidade e idade e enviá-las ao banco de
dados.
// Conectar ao servidor e selecionar um
banco de dados
$conexao = mysql_connect("servidor","usuario","senha")
or die ("Configuracao de Banco de Dados Errada!");
mysql_select_db("banco_de_dados",$conexao);
// Capturar as variáves por GET
$nome = $_GET["nomeArtista"];
$idade = $_GET["idade"];
$cidade = $_GET["cidade"];
// Envia as variáveis e a imagem para o
MySQL
$sql_insert = "INSERT INTO tabela
(nome, idade, cidade, imagem) VALUES ("$nome", "$idade", "$cidade", "$imagem_dir");"
$sql_query = mysql_query($sql_insert)
or die (mysql_error());
Abaixo nosso código completo:
<?php
// Diretório para onde irão as imagens
- Não se esqueça de criar esta pasta no diretório do upload.php
$dir = "imagens/";
// Recebendo o arquivo do Flash
$file = $_FILES["Filedata"];
// Pega a extensão do arquivo enviado
pelo Flash e grava na variável "$ext"
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i",
$file["name"], $ext);
// Gera o nome único para a
imagem
$imagem_nome = md5(uniqid(time())) .
"." . $ext[1];
$imagem_dir = $dir . $imagem_nome;
// Envia o arquivo para a
pasta de destino
move_uploaded_file($file["tmp_name"],
$imagem_dir);
// Muda o CHMOD da pasta
chmod($dir, 0777);
// Conectar ao servidor e
selecionar um banco de dados
$conexao =
mysql_connect("servidor","usuario","senha") or
die ("Configuracao de Banco de Dados Errada!");
mysql_select_db("banco_de_dados",$conexao);
// Capturar as variáves por GET
$nome = $_GET["nomeArtista"];
$idade = $_GET["idade"];
$cidade = $_GET["cidade"];
// Envia as variáveis e a imagem para o
MySQL
$sql_insert = "INSERT INTO tabela
(nome, idade, cidade, imagem) VALUES ("$nome", "$idade", "$cidade", "$imagem_dir");"
$sql_query = mysql_query($sql_insert)
or die (mysql_error());
?>
Espero que tenham gostado deste tutorial
e desculpe pela demora =D
Abraços a todos.
- Custom Events + AMF + AS3 + ColdFusion – Casamento que dá certo!Flash
- Trabalhando com a classe DataGrid – Pacote fl.controlsActionScript
- Conhecendo e Trabalhando com os pacotes fl.controls, fl.data e fl.eventsActionScript
- POO – Trabalhando com ActionScript File 3.0ActionScript
- Trabalhando com o flash.filters.BevelFilter no AS3ActionScript