Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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?
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
Tentei trocar name área name="nome" e adicionar id=nome e nenhum funcionou, mais algum ideia?
troque todos os $_FILES['nome'] por $_FILES['foto']
continua o mesmo erro, mesmo eu tentando upar so um ainda continua o mesmo erro.
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 "
";
}
}
}
?>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?
$PHP_SELF só existe quando register_globals está ativado, o que já está obsoleto (além de ser muito inseguro) há tempos, desde o PHP 4.2.0. Use $_SERVER['PHP_SELF']
Mais iai, como eu faço o laço que o cara la em cima falo?
dê uma olhada neste tópico
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
tentou definir o atributo "multiple", como sugerido no [anchorlink=1848644]post #2[/anchorlink]?
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//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++;echo "<i>Falhou!</i>";
endif;
echo "
";
}
}
}
?>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//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++;echo "<i>Falhou!</i>";
endif;
echo "
";
}
}
}
?>
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
//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{