Ir ao conteúdo
  • Cadastre-se

Upload de multiplos arquivos


Posts recomendados

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

Link para o comentário
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[]" />

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!