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

Multiplo Upload...


johnle

Pergunta

cara.. não to entendo... olha só

tenho um input name=files[]

daih eu coloco assim:

if($files != NULL){
 foreach($files as $file => $valor){
  if($valor != NULL){
	$file = $_FILES['files']['tmp_name'];
	$newfile =	$_FILES['files']['name'];
	$ftp = new ftp();
	$ftp->conecta();
	$ftp->envia_file($file, $newfile, $dir);
	$ftp->close();
  }
 }
}

não to conseguindo enviar o arquivo.. não to conseguindo pegar o nome do campo com o foreach.. como tenho q fazer??

Link para o comentário
Compartilhar em outros sites

14 respostass a esta questão

Posts Recomendados

  • 0

pleaseee.. não sei se fui claro.. mas preciso fazer vários uploads..

e acho que da pra fazer com foreach..

mas não to conseguindo...

coloco o nome do input de files[] e daíh como pego depois com a propriedade

$_FILES ???

Link para o comentário
Compartilhar em outros sites

  • 0

Da uma olhada ve se te ajuda...

                $ext = array("gif","jpg","png");

  //ESPECIFICA AQUI A QUANTIDADE DE ARQUIVOS

  $campos = 1;

 

  if (isset($_POST['submit'])) {

  $f_name = $_FILES['file']['name'];

  $f_tmp = $_FILES['file']['tmp_name'];

  $f_type = $_FILES['file']['type'];

  $cont=0;

  for($i=0;$i<$campos;$i++){

  $name = $f_name[$i];

  if ( ($name!="") and (is_file($f_tmp[$i])) and (in_array(substr($name, -3),$ext)) ) {

    if ($cont==0) {

      echo "<b>Arquivo(s) enviados:<br /></b>";

    }

      echo $name." - ";

      $up = move_uploaded_file($f_tmp[$i], $dir.$name);

        if ($up==true):

            echo  "<i>Enviado!</i>";

              $cont++;

        else:

            echo "<i>Falhou!</i>";

        endif;

   

      echo "<br />";

  }

}

     

echo ($cont!=0) ? "<br><i>Total de arquivos enviados: </i>".$cont : "Nenhum arquivo foi enviado!";

}

?>

Ve se ajuda...

E so a parte de upload....... o form você monta com quantos campos para envio quiser e so alterar a variavel $campos

Adailton

Link para o comentário
Compartilhar em outros sites

  • 0

qual é o nome do campo no form?

são diferentes? file1, file2, file3... é isso não é??

Link para o comentário
Compartilhar em outros sites

  • 0

hmmmm!!!! ok... vo testar aki assim...

Link para o comentário
Compartilhar em outros sites

  • 0

sim.. deu certo!!! vlw!!!

thanks... very thanks!!!

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Glauco -

Descupa a minha ignorancia, o sistema ficaria assim?

<?php

                $ext = array("gif","jpg","png");

  //ESPECIFICA AQUI A QUANTIDADE DE ARQUIVOS

  $campos = 20;

  $dir = "D:/web/sites/metal/upload/fotos" ;

 

  if (isset($_POST['submit'])) {

  $f_name = $_FILES['file']['name'];

  $f_tmp = $_FILES['file']['tmp_name'];

  $f_type = $_FILES['file']['type'];

  $cont=0;

  for($i=0;$i<$campos;$i++){

  $name = $f_name[$i];

  if ( ($name!="") and (is_file($f_tmp[$i])) and (in_array(substr($name, -3),$ext)) ) {

    if ($cont==0) {

      echo "<b>Arquivo(s) enviados:<br /></b>";

    }

      echo $name." - ";

      $up = move_uploaded_file($f_tmp[$i], $dir.$name);

        if ($up==true):

            echo  "<i>Enviado!</i>";

              $cont++;

        else:

            echo "<i>Falhou!</i>";

        endif;

   

      echo "<br />";

  }

}

     

echo ($cont!=0) ? "<br><i>Total de arquivos enviados: </i>".$cont : "Nenhum arquivo foi enviado!";

}

?>

unica coisa que estou com duvida é onde encaixar esse var $dir para que possa ser enviados os arquivos... valeu

Link para o comentário
Compartilhar em outros sites

  • 0

na hora do envio é colocado esse $dir.. olha só

$up = move_uploaded_file($f_tmp[$i], $dir.$name);

move_uploaded_file(arquivo_temporario, diretorio/nome_do_arquivo..

tpw.. a função é assim:

move_uploaded_file ( string nomedoarquivo, string destino )

o destino vai ser o diretório + nome do arquivo...

então você define o diretório em uma var $dir ou qualquer outra.. e na hora do envio você concatena com a var nomedoarquivo

sacou?

Link para o comentário
Compartilhar em outros sites

  • 0

Função para enviar o arquivo ao servidor:

move_uploaded_file ( nomedoarquivo, destino )

nomedoarquivo = variável adquirida através do $_FILES[arquivo][tmp_name]

destino = diretóriodestino + nomedoarquivo

onde nomedoarquivo pode ser $_FILES[arquivo][name]

tpw...

$file_local = $_FILES[arquivo][tmp_name]
$file_serv = $_FILES[arquivo][name]

move_uploaded_file ( $file_local, "uploads/noticias/".$file_serv )
ou poderias colocar o diretório em uma var...
$dir = "uploads/noticias/"

move_uploaded_file ( $file_local, $dir.$file_serv )

entendeu??

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
      152,3k
    • Posts
      652,6k
×
×
  • Criar Novo...