Ir para conteúdo
Fórum Script Brasil
  • 0

Solução Para Postagem Multipla De Anexos


Palompas

Pergunta

Olá pessoal!!! Há alguns dias eu coloquei aqui um código que gerava novos filhos e criava inputs. Agora o código está basicamente pronto. Agora há, também, a função de remoção dos arquivos. A única coisa que falta é pegar os arquivos para upload e jogar em uma pasta. Isso sim é feito em PHP. O outro código tem JS.

O problema é o seguinte: Eu quero passar os arquivos selecionados no upload para uma pasta. Ou seja: Upar. Para isto eu preciso de um arquivo em PHP. Correto? Pois bem!!! É justamente isso que venho pedir pra vocês!!! Me ajudem por favor!!! Abaixo seguem os códigos. Obrigado pela possível ajuda!!!

Obs.: Só funciona no firefox!!! huaihuaih

(Código em HTML)

<script>
    
    cont = 1;
    var count = 0;
    function removeArquivo(id) {
        container = document.getElementById('fileSpace');
        arquivo = document.getElementById('container_' + id);
        /*lnk = document.getElementById('lnk'+id);
        br = document.getElementById('br'+id);
/*        formulario.removeChild(arquivo);
        formulario.removeChild(lnk);
        formulario.removeChild(br);*/
        //arquivo.parentNode.removeChild(arquivo);
        container.removeChild(arquivo);
        // alert('id: '+id);
    }

    function criaUpload() {
        var f = null;
        <!---alert (cont+'');--->
        f = document.getElementById('formulario');
        up = document.createElement('INPUT');
        up.id = 'up'+cont;
        up.type = 'file';
        f.appendChild(up);
        lnk = document.createElement('A');
        lnk.href = '#';
        lnk.onclick = function (){
                        var temp = cont;
                        arquivo = document.getElementById('up'+cont);
                        lnk = document.getElementById('lnk'+cont);
                        br = document.getElementById('br'+cont);
                        alert(temp+'');
/*                        formulario.removeChild(arquivo);
                        formulario.removeChild(lnk);
                        formulario.removeChild(br);*/
/*                        arquivo.parentNode.removeChild(arquivo);
                        lnk.parentNode.removeChild(lnk);
                        br.parentNode.removeChild(br);
                        alert('id: '+cont);*/
                    }
        lnk.id = 'lnk'+cont;
        textlnk = document.createTextNode(' Remover Arquivos');
        lnk.appendChild(textlnk);
        f.appendChild(lnk);
        quebra = document.createElement('BR');
        quebra.id = 'br'+cont;
        f.appendChild(quebra);
        cont++;
    }
    
    function addInputFile() {
        var fs = document.getElementById('fileSpace');
        var tr_tbody = document.createElement('TR');
        tr_tbody.id = "container_" + count;
        var td_tbody = document.createElement('TD');
        var container = document.createElement('TABLE');
        var tr = document.createElement('TR');
        var td = document.createElement('TD');
        
        td.innerHTML = '<input type="file" id="up' + count + '"><a href="#" id="lnk' +
                        count + '" onClick="removeArquivo(' + count + ')"> Remover Arquivos </a>';
        tr.appendChild(td);                
        container.appendChild(tr);
        td_tbody.appendChild(container);
        tr_tbody.appendChild(td_tbody);
        fs.appendChild(tr_tbody);
        count++;
    }
</script>


<html>
<head>
    <title> teste </title>
</head>
<body>

<FORM ENCTYPE="multipart/form-data" ACTION="upload.php" METHOD="POST">
<p>Enviar arquivo:<br> 
<INPUT TYPE="submit" VALUE=" Ok ">

<!--<input type="button" name="btnAdd" value="Anexar + arquivos" onClick="criaUpload()">-->
<a href="#" onClick="addInputFile()"> Anexar + arquivos </a> 
<table cellspacing="0" cellpadding="0">
<tbody id="fileSpace"></tbody>
</table>
</form>

<!---<script>addInputFile();</script>--->
    
</body>
</html>
Agora o código em PHP (Que não está dando certo e que eu queria a ajuda de vocês!!! - O que eu tenho que fazer?)
<?php

$count = count($_FILES['arquivo']['name']);
    for ($i = 0; $i < $count; $i++) {
    if ($_FILES['arquivo']['name'][$i] != ""){

$arq_name = $_FILES['arquivo']['name'][$i];

$arq_size = $_FILES['arquivo']['size'][$i];

$dir = "D:\www\Upload Multiple";
    if (move_uploaded_file($_FILES['arquivo']['tmp_name'][$i], $dir . $_FILES['arquivo']['name'][$i])){
      echo "arquivo <b>" .  $arq_name . " </b>enviado com sucesso <br>"; 
 }

 else {
  echo "Erro!!/n";
  echo $arq_name . "/n";
  echo $_FILES['arquivo']['error'][$i]; 
  }
}  
}
?>

-----

É isso..... Abraços a todos!!!

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Você pode fazer um loop com todos os arquivos enviados assim:

foreach($_FILES as $value){

/* os dados do arquivo atual estarão disponíveis assim:
$value['name'] = nome do arquivo
$value['type'] => tipo mime
$value['tmp_name'] => caminho temporário
$value['error'] => erro
$value['size'] => tamanho
*/// Exemplo de como fazer o upload:

if(empty($value["name"])) continue; //campo em branco, pula para o próximo

move_uploaded_file($value['tmp_name'], "DIRETORIO_DESTINO");

}

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...