Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

vidaloka860

Multiplos uploads

Recommended Posts

Tipo, eu sei como faz um sistema de upload simples, que passoa escolhe m arquivo e ele upa.

Agora tipo, como eu faço um sistema que você pode selecionar varias fotos de uma vez, levar uma por vez para servidor e salvar uma por ver no DB?

Compartilhar este post


Link para o post
Compartilhar em outros sites

assim

1º você cria um campo de upload dinamico e multiple

// repare no [] depois do nome, isso vai deixar o campo dinamico
// o multiple é para ele aceitar vários arquivos
<input type="file" name="foto[]" multiple/>

no php você pega assim

// pega os dados dinamicamente
$nome = $_FILES['nome']['name']
$tamanho = $_FILES['nome']['size']
$formato = $_FILES['nome']['type']
$endereco = $_FILES['nome']['tmp_name']

//conta o numero de arquivos
$quantidade = count("$nome");
//faz um laço de repetição para repetir o upload
for($i = 0; $i < $quantidade; $i++){
if(!move_uploaded_files($endereco[$i], 'diretorio/'.$nome[$i].'.png')){
echo 'O arquivo:".$nome[$i]." não foi enviado';}
else{
'Enviado com sucesso!';
}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

ta aparecendo isso aqui.

 

Notice: Undefined index: nome in C:\Program Files\EasyPHP-5.3.8.0\www\chatfunciona\testemult.php on line 2

 

Notice: Undefined index: nome in C:\Program Files\EasyPHP-5.3.8.0\www\chatfunciona\testemult.php on line 3

 

Notice: Undefined index: nome in C:\Program Files\EasyPHP-5.3.8.0\www\chatfunciona\testemult.php on line 4

 

Notice: Undefined index: nome in C:\Program Files\EasyPHP-5.3.8.0\www\chatfunciona\testemult.php on line 5

 

Fatal error: Call to undefined function move_uploaded_files() in C:\Program Files\EasyPHP-5.3.8.0\www\chatfunciona\testemult.php on line 11

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que diferencia o simples do multiplo são os laços que a gente faz.

teste esse sistema de upload. se funciona eu volto aqui e faço a gravação com banco

 

<?php

 

//Diretório aonde ficará os arquivos

$dir = "pasta/";

 

//Extensões permitidas

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

 

//Quant. de campos do tipo FILE

$campos = 6;

 

//Formulário?>

<form method="post" action="'.$PHP_SELF.'" enctype="multipart/form-data">

Arquivo: <input type="file" name="file[]">

 

Arquivo: <input type="file" name="file[]">

 

Arquivo: <input type="file" name="file[]">

 

Arquivo: <input type="file" name="file[]">

 

Arquivo: <input type="file" name="file[]">

 

Arquivo: <input type="file" name="file[]">

 

<input type="submit" name="submit" value=" OK ">

</form>

 

<?php

//Se for enviado

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

 

//Obtendo info. dos arquivos

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

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

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

 

 

//Contar arquivos enviados

$cont=0;

 

//Repetindo de acordo com a quantidade de campos FILE

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

 

//Pegando o nome

$name = $f_name[$i];

 

//Verificando se o campo contem arquivo

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

 

if ($cont==0) {

echo "<b>Arquivo(s) enviados:

</b>";

}

echo $name." - ";

 

//Movendo arquivo's do upload

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

 

//Status

if ($up==true):

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

$cont++;

else:

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

endif;

 

echo "

";

}

 

}

 

 

}

?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

deu um erro nada ver

 

Not Found

 

The requested URL /'.$PHP_SELF.' was not found on this server.

 

ai eu tirei o '.PHP_SELF.', rodei e deu certo, apareceu

 

Arquivo(s) enviados: Chrysanthemum.jpg - Enviado! Hydrangeas.jpg - Enviado! Tulips.jpg - Enviado!

 

i agora?

Compartilhar este post


Link para o post
Compartilhar em outros sites

mais tipo, pelo link que você me mandou eu tenho que selecionar uma por uma, o que eu tava testando e esperando uam resposta é pra um que abre so uma caixa, seleciona varios em uma unica caixa e faz o upload.

 

vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

tipo, eu juntei os dois, ta upando, so que não sei como fazer para descobrir o numero de imagens e deixa isso dinamico...

so falta isso no codigo abaixo

 

<?php

//Diretório aonde ficará os arquivos
$dir = "pasta/";

//Extensões permitidas
$ext = array("gif","jpg","png");

//Quant. de campos do tipo FILE
$campos = 6;

//Formulário?>
<form method="post" action="" enctype="multipart/form-data">
<input type="file" name="foto[]" multiple/>

<input type="submit" name="submit" value=" OK ">
</form>

<?php
//Se for enviado
if (isset($_POST['submit'])) {

//Obtendo info. dos arquivos
$f_name = $_FILES['foto']['name'];
$f_tmp = $_FILES['foto']['tmp_name'];
$f_type = $_FILES['foto']['type'];


//Contar arquivos enviados
$cont=0;

//Repetindo de acordo com a quantidade de campos FILE
for($i=0;$i<$campos;$i++){

//Pegando o nome
$name = $f_name[$i];

//Verificando se o campo contem arquivo
if ( ($name!="") and (is_file($f_tmp[$i])) and (in_array(substr($name, -3),$ext)) ) {

if ($cont==0) {
echo "<b>Arquivo(s) enviados:
</b>";
}
echo $name." - ";

//Movendo arquivo's do upload
$up = move_uploaded_file($f_tmp[$i], $dir.$name);

//Status
if ($up==true):
echo "<i>Enviado!</i>";
$cont++;
else:
echo "<i>Falhou!</i>";
endif;

echo "
";
}

}


}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

tipo, eu juntei os dois, ta upando, so que não sei como fazer para descobrir o numero de imagens e deixa isso dinamico...

so falta isso no codigo abaixo

 

<?php

//Diretório aonde ficará os arquivos
$dir = "pasta/";

//Extensões permitidas
$ext = array("gif","jpg","png");

//Quant. de campos do tipo FILE
$campos = 6;

//Formulário?>
<form method="post" action="" enctype="multipart/form-data">
<input type="file" name="foto[]" multiple/>

<input type="submit" name="submit" value=" OK ">
</form>

<?php
//Se for enviado
if (isset($_POST['submit'])) {

//Obtendo info. dos arquivos
$f_name = $_FILES['foto']['name'];
$f_tmp = $_FILES['foto']['tmp_name'];
$f_type = $_FILES['foto']['type'];


//Contar arquivos enviados
$cont=0;

//Repetindo de acordo com a quantidade de campos FILE
for($i=0;$i<$campos;$i++){

//Pegando o nome
$name = $f_name[$i];

//Verificando se o campo contem arquivo
if ( ($name!="") and (is_file($f_tmp[$i])) and (in_array(substr($name, -3),$ext)) ) {

if ($cont==0) {
echo "<b>Arquivo(s) enviados:
</b>";
}
echo $name." - ";

//Movendo arquivo's do upload
$up = move_uploaded_file($f_tmp[$i], $dir.$name);

//Status
if ($up==true):
echo "<i>Enviado!</i>";
$cont++;
else:
echo "<i>Falhou!</i>";
endif;

echo "
";
}

}


}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.