Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Junior Melo26

Upload de multiplos arquivos

Recommended Posts

Boa dia pessoal, gostaria de saber se existe uma forma de enviar vários arquivos independente da extensão? Criei um upload de imagens e ele funciona normal via desktop, já nos smartphones não funciona. já alterei o php.ini, ja alterei as permissões no servidor e o máximo de arquivos que envia são 2 via Mobile.

Será que alguem poderia me ajudar? será que existe uma solução?

Desde já agradeço.

Junior Melo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poste seu código para que a comunidade analise e te mostre o que se encontra errado no intuito de resolver seu problema com o upload múltiplo de arquivos.

Editado por JorgeGomes

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode fazer algo deste tipo:

// Função que faz conexão com o banco de dados
$con = connection();

    $files = $_FILES['files'];
    $files_num = count(array_filter($files['name']));
    
    //PASTA
    $target_dir = '../uploads/';

    //REQUISITOS
    $file_permis = array('image/jpeg', 'image/jpg', 'image/png');
    $max_size = 1024 * 1024 * 5;

    //MENSAGENS
    $msg = array();
    $errorMsg = array(
        '1' => 'O arquivo enviado excede o limite definido na diretiva upload_max_filesize do php.ini.',
        '2' => 'O arquivo excede o limite definido em MAX_FILE_SIZE no formulário HTML.',
        '3' => 'O upload do arquivo foi feito parcialmente.',
        '4' => 'Nenhum arquivo foi enviado.',
        '6' => 'Pasta temporária ausente. Introduzido no PHP 5.0.3.',
        '7' => 'Falha em escrever o arquivo em disco. Introduzido no PHP 5.1.0. ',
        '8' => 'Uma extensão do PHP interrompeu o upload do arquivo. O PHP não fornece uma maneira de determinar qual extensão causou a interrupção. Examinar a lista das extensões carregadas com o phpinfo() pode ajudar. Introduzido no PHP 5.2.0. '
    );

    for ($i = 0; $i < $files_num; $i++) {
        $name = $files['name'][$i];
        $type = $files['type'][$i];
        $size = $files['size'][$i];
        $error = $files['error'][$i];
        $tmp = $files['tmp_name'][$i];
//        $ext = @end(explode('.', $name));
        $ext = substr($name, -4);
        $ext = (strpos($ext, '.')) ? '.' . $ext : $ext;
        $newName = $postid . '-' . md5(uniqid(time())) . $ext;

        if ($error)
            $msg[] = "<span class='alert alert-danger' role='alert'>'.$name.': '" . $errorMsg['$error'] . "'</span>";
        elseif (!in_array($type, $file_permis))
            $msg[] = "<span class='alert alert-danger' role='alert'>'.$name.': Tipo da imagem não é aceitável!'</span>";
        elseif ($size > $max_size)
            $msg[] = "<span class='alert alert-danger' role='alert'>'.$name.': Imagem de tamanho maior que 5MB.'</span>";
        else {
            move_uploaded_file($tmp, $target_dir . $y . '/' . $m . '/' . $newName);
            date_default_timezone_set('America/Recife');
            $timezone = date('Y-m-d H:i:s');
            $statement = $con->prepare("INSERT INTO imagens (id, img, data) VALUES (?, ?, ?)");
            $statement->bind_param("iss", $postid, $newName, $timezone);
            $statement->execute();
            if (!$statement)
                echo $con->error;
            $statement->close();
        }

        if ($msg)
            foreach ($msg as $message) :
                echo $message . '</br>';
            endforeach;

    }
    $con->close();

No html:

<input type="file" name="files[]" />

 

Editado por JorgeGomes

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×