Adaptei um tutorial a minha necessidade um upload com mais de 1 arquivo... na verdade 5 arquivos. Porem no upload apenas o primeiro arquivo vai para o ftp as demais imagens são listadas no campo do caminho flash mas não são enviadas .
segue o AS2
stop();
//importando a classe necessária. flash.net.FileReference
import flash.net.FileReference;
//
//definindo botões, movies, objetos e etc...
var btEnviar:MovieClip;
var btBrowse:MovieClip;
var btBrowse2:MovieClip;
var btBrowse3:MovieClip;
var btBrowse4:MovieClip;
var btBrowse5:MovieClip;
var tFile:TextField;
var caixa2:TextField;
var caixa3:TextField;
var caixa4:TextField;
var caixa5:TextField;
var mcStatus:MovieClip;
var objUpload:Object = new Object();
var obj:Object = new Object();
var obj3:Object = new Object();
var obj4:Object = new Object();
var obj5:Object = new Object();
var arquivosPermitidos:Array = new Array();
//
//criando a instancia da classe FileReference, a nova classe responsável pelo Upload...
var frUpload:FileReference = new FileReference();
var carregar1:FileReference = new FileReference();
var carregar2:FileReference = new FileReference();
var carregar3:FileReference = new FileReference();
var carregar4:FileReference = new FileReference();
//
function initUpload(Void):Void
{
//escondendo mcStatus, resposável por dizer ao user em que parte está o processo...
mcStatus._visible = false;
//adicionando a lista de extensões permitidas para o Seleção...
//só imagens .jpg...
arquivosPermitidos[0] = {description:"Imagens (*.jpg)", extension:"*.jpg; *.jpeg"};
//só imagens .gif...
arquivosPermitidos[1] = {description:"Imagens (*.gif)", extension:"*.giff; *.gif"};
//só audio .mp3...
arquivosPermitidos[1] = {description:"audio (*.mp3)", extension:"*.mp3; *.mp3"};
////////////////////////////////////////////////////////////////////////////////
//ação de escolha de um arquivo na caixa de browse...
objUpload.onSelect = function(f:FileReference):Void
{
tFile.text = a.name;
}
//quando o arquivo for enviado totalmente ao servidor e estar Completo, retornará neste Método...
objUpload.onComplete = function(f:FileReference):Void {
//alterando mcStatus...
mcStatus.gotoAndStop(2);
mcStatus._visible = true;
}
//caso aprensente algum erro no envio...
objUpload.onHTTPError = objUpload.onIOError = function() {
//alterando mcStatus...
mcStatus.gotoAndStop(3);
mcStatus._visible = true;
}
frUpload.addListener(objUpload);
//
//ao clicar no botão abrir a caixa de seleção
/////////////////////////////////////////////////////////////////////////////////////////
obj.onSelect = function(f:FileReference):Void
{
caixa2.text = b.name;
}
//quando o arquivo for enviado totalmente ao servidor e estar Completo, retornará neste Método...
obj.onComplete = function(f:FileReference):Void {
//alterando mcStatus...
mcStatus.gotoAndStop(2);
mcStatus._visible = true;
}
//caso aprensente algum erro no envio...
obj.onHTTPError = objUpload.onIOError = function() {
//alterando mcStatus...
mcStatus.gotoAndStop(3);
mcStatus._visible = true;
}
carregar1.addListener(obj);
/////////////////////////////////////////////////////////////////////////////////////////
obj3.onSelect = function(f:FileReference):Void
{
caixa3.text = c.name;
}
//quando o arquivo for enviado totalmente ao servidor e estar Completo, retornará neste Método...
obj3.onComplete = function(f:FileReference):Void {
//alterando mcStatus...
mcStatus.gotoAndStop(2);
mcStatus._visible = true;
}
//caso aprensente algum erro no envio...
obj3.onHTTPError = objUpload.onIOError = function() {
//alterando mcStatus...
mcStatus.gotoAndStop(3);
mcStatus._visible = true;
}
carregar2.addListener(obj3);
/////////////////////////////////////////////////////////////////////////////////////////
obj4.onSelect = function(f:FileReference):Void
{
caixa4.text = d.name;
}
//quando o arquivo for enviado totalmente ao servidor e estar Completo, retornará neste Método...
obj4.onComplete = function(f:FileReference):Void {
//alterando mcStatus...
mcStatus.gotoAndStop(2);
mcStatus._visible = true;
}
//caso aprensente algum erro no envio...
obj4.onHTTPError = objUpload.onIOError = function() {
//alterando mcStatus...
mcStatus.gotoAndStop(3);
mcStatus._visible = true;
}
carregar3.addListener(obj4);
/////////////////////////////////////////////////////////////////////////////////////////
obj5.onSelect = function(f:FileReference):Void
{
caixa5.text = e.name;
}
//quando o arquivo for enviado totalmente ao servidor e estar Completo, retornará neste Método...
obj5.onComplete = function(f:FileReference):Void {
//alterando mcStatus...
mcStatus.gotoAndStop(2);
mcStatus._visible = true;
}
//caso aprensente algum erro no envio...
obj5.onHTTPError = objUpload.onIOError = function() {
//alterando mcStatus...
mcStatus.gotoAndStop(3);
mcStatus._visible = true;
}
carregar4.addListener(obj5);
/////////////////////////////////////////////////////////////////////////////////////////
btBrowse.onRelease = function(Void):Void
{
//método para abrir a caixa de seleção na classe FileReference...
//FileReference.browse(arquivosPermitidos), os isso é opcional, caso queiram liberar todos os arquivos
//é so não utilizar do parametro...
frUpload.browse(arquivosPermitidos);
}
btBrowse2.onRelease = function(Void):Void
{
//método para abrir a caixa de seleção na classe FileReference...
//FileReference.browse(arquivosPermitidos), os isso é opcional, caso queiram liberar todos os arquivos
//é so não utilizar do parametro...
carregar1.browse(arquivosPermitidos);
}
btBrowse3.onRelease = function(Void):Void
{
//método para abrir a caixa de seleção na classe FileReference...
//FileReference.browse(arquivosPermitidos), os isso é opcional, caso queiram liberar todos os arquivos
//é so não utilizar do parametro...
carregar2.browse(arquivosPermitidos);
}
btBrowse4.onRelease = function(Void):Void
{
//método para abrir a caixa de seleção na classe FileReference...
//FileReference.browse(arquivosPermitidos), os isso é opcional, caso queiram liberar todos os arquivos
//é so não utilizar do parametro...
carregar3.browse(arquivosPermitidos);
}
btBrowse5.onRelease = function(Void):Void
{
//método para abrir a caixa de seleção na classe FileReference...
//FileReference.browse(arquivosPermitidos), os isso é opcional, caso queiram liberar todos os arquivos
//é so não utilizar do parametro...
carregar4.browse(arquivosPermitidos);
}
//
//ao clicar no botão enviar, a classe joga o arquivo em um multipart para uma linguagens server-side
//qualquer, em nosso caso vamos utilizar PHP.
btEnviar.onRelease = function(Void):Void
{
enviaForm();
//alterando mcStatus...
mcStatus.gotoAndStop(1);
mcStatus._visible = true;
//método para enviar o arquivo em multipart ao servidor... FileReference.upload(seuEndereço)...
frUpload.upload("./upload.php");
carregar1.upload("./upload.php");
carregar2.upload("./upload.php");
carregar3.upload("./upload.php");
carregar4.upload("./upload.php");
}
}
//
//iniciando nosso projeto...
initUpload();
meu upload.php
<!-- saved from url=(0022)http://internet.e-mail -->
<?php
//diretório destino das imagens dentro da pasta da aplicação...
//deve ter permissão para escrita chmod(777)...
$dir = "imagens/";
//recebendo o arquivo multipart vindo do flash...
$file = $_FILES["carregar1"];
$file2 = $_FILES['carregar1'];
$file3 = $_FILES['carregar2'];
$file4 = $_FILES['carregar3'];
$file5 = $_FILES['carregar4'];
//finalizando o upload e criando apartir do arquivo temp, multipart, um novo arquivo
// em nossa pasta de destino. O echo serve para dizer ao flash se deu certo ou não...
$nome = $_POST["nomee"];
$imagem1 = '01.jpg';
$imagem2 = '02.jpg';
$imagem3 = '03.jpg';
$imagem4 = '04.jpg';
$imagem5 = '05.jpg';
$path = $nome."/";
echo move_uploaded_file($file["tmp_name"], "imagens/".$path.$imagem1);
echo move_uploaded_file($file2["tmp_name"], "imagens/".$path.$imagem2);
echo move_uploaded_file($file3["tmp_name"], "imagens/".$path.$imagem3);
echo move_uploaded_file($file4["tmp_name"], "imagens/".$path.$imagem4);
echo move_uploaded_file($file5["tmp_name"], "imagens/".$path.$imagem5);
//echo move_uploaded_file($file["tmp_name"], $dir . "/" . $file["name"]);
//echo move_uploaded_file($file2["tmp_name"], $dir . "/" . $file["name"]);
//echo move_uploaded_file($file3["tmp_name"], $dir . "/" . $file["name"]);
//echo move_uploaded_file($file4["tmp_name"], $dir . "/" . $file["name"]);
//echo move_uploaded_file($file5["tmp_name"], $dir . "/" . $file["name"]);
//$arquivo = $nome.".xml";
$arquivo = "./xml/".$nome.".xml";
//ABRE O ARQUIVO(SE NÃO EXISTIR, CRIA)
$ponteiro = fopen($arquivo, "w");
//ESCREVE NO ARQUIVO XML
fwrite($ponteiro, "<?xml version='1.0' encoding='iso-8859-1' ?>");
fwrite($ponteiro, "<imagem>");
$conteudo = '<foto>'.$imagem1.'</foto>';
$conteudo .= '<foto>'.$imagem2.'</foto>';
$conteudo .= '<foto>'.$imagem3.'</foto>';
$conteudo .= '<foto>'.$imagem4.'</foto>';
$conteudo .= '<foto>'.$imagem5.'</foto>';
//ESCREVE NO ARQUIVO
fwrite($ponteiro, $conteudo);
//FECHA A TAG AGENDA
fwrite($ponteiro, "</imagem>");
//FECHA O ARQUIVO
fclose($ponteiro);
?>
Pergunta
keruba
Bom dia pessoal.
Adaptei um tutorial a minha necessidade um upload com mais de 1 arquivo... na verdade 5 arquivos. Porem no upload apenas o primeiro arquivo vai para o ftp as demais imagens são listadas no campo do caminho flash mas não são enviadas .
segue o AS2
meu upload.phpLink para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.