revsouza 0 Denunciar post Postado Março 7, 2016 Pessoal, tenho o seguinte código que faz upload de um array de até 5 arquivos: for ($i = 0; $i < $numeroCampos; $i++) { // Informações do arquivo enviado $nomeArquivo = $_FILES["arquivo"]["name"][$i]; $tamanhoArquivo = $_FILES["arquivo"]["size"][$i]; $nomeTemporario = $_FILES["arquivo"]["tmp_name"][$i]; // Verifica se o arquivo foi colocado no campo if (!empty($nomeArquivo)) { $erro = false; // Verifica se o tamanho do arquivo é maior que o permitido if ($tamanhoArquivo > $tamanhoMaximo) { $erro = "O arquivo " . $nomeArquivo . " não deve ultrapassar " . $tamanhoMaximo. " bytes"; } // Verifica se a extensão está entre as aceitas elseif (!in_array(strrchr($nomeArquivo, "."), $extensoes)) { $erro = "A extensão do arquivo <b>" . $nomeArquivo . "</b> não é válida"; } // Verifica se o arquivo existe e se é para substituir elseif (file_exists($caminho . $nomeArquivo) and !$substituir) { $erro = "O arquivo <b>" . $nomeArquivo . "</b> já existe"; } // Se não houver erro if (!$erro) { // Move o arquivo para o caminho definido move_uploaded_file($nomeTemporario, ($caminho . $nomeArquivo)); // Mensagem de sucesso echo "O arquivo <b>".$nomeArquivo."</b> foi enviado com sucesso. <br />"; } // Se houver erro else { // Mensagem de erro echo $erro . "<br />"; } } } O problema é que se eu tentar pegar o nome que vem na variavel $nomeArquivo, eu até consigo, mas o for roda 5 vezes e no fim grava apenas um nome da minha base. Eu tentei fazer diferente e jogar isso dentro do for: $arquivoFinal[] = $nomeArquivo; print_r($arquivoFinal); Porém ele me da cada nome após cada execução do for, o que não consigo gravar. Estou precisanso pegar esses nomes fora do for, porém não consigo, alguem consegue ajudar. Compartilhar este post Link para o post Compartilhar em outros sites
gabrieldarezzo 255 Denunciar post Postado Março 8, 2016 Olá! Vejo 2 opções... A primeira é dar o insert direto neste trecho: // Se não houver erro if (!$erro) { //INSERT... ou armazenar os nomes na interação e salvar fora do for() : //Dentro do laço: $arquivoFinal = array(); $arquivoFinal[] = $nomeArquivo; print_r($arquivoFinal); //Fora do laço: foreach($arquivoFinal as $nm){ echo $nm . '<br />'; } Compartilhar este post Link para o post Compartilhar em outros sites